【问题标题】:Javascript only when cursor focus within textbox仅当光标聚焦在文本框中时才使用 Javascript
【发布时间】:2014-10-17 09:55:13
【问题描述】:

是否可以仅当光标焦点在特定文本区域时才运行 JavaScript 函数?

我想对enter 键的按键执行一个操作,但是我不希望这个事件监听器只在页面上就位,而只有当光标在textarea 我有(id 是postcontent)

例如,我使用的函数是这样的:

function onEnter(){
   if(characterCode == 13)
   {
       console.log("Enter pressed");
   }
}

作为我解决焦点问题的开始......

我也可以使用 jQuery。

【问题讨论】:

标签: javascript


【解决方案1】:
div1.onfocus=
function onEnter(){
       if(characterCode == 13)
       {
           console.log("Enter pressed");
       }
    }

【讨论】:

    【解决方案2】:

    这里有一个替代方案:

    var textArea = document.getElementById("postcontent");
    
    textArea.addEventListener("keypress", handleKeyPress, false);
    
    function handleKeyPress(e) {
    
        var characterCode = e.charCode;
    
        if (characterCode == 13) {
            console.log("Enter pressed");
        }
    
    }
    

    Fiddle

    【讨论】:

    • ups,我刚刚意识到也许我误解了这个问题,如果这意味着事件应该集中在文本区域。我猜 user3764857 是对的
    • 不。除非它实际上是 focused,否则您将无法处理元素中的任何 key event。你是对的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-24
    • 2021-08-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多