当其他功能代码出现时,keydown事件无法正常工作

时间:2017-08-01 16:00:55

标签: javascript jquery

好的,我真的很难过。我正在将一个函数绑定到keydown,但是如果两个看似无关的代码片段中存在特定条件,它就不会触发。

HTML

<input id="enteredData" name="enteredData" />
<button id="submit-button">Submit</button>

keydown功能:

$(document).on("keydown", function(e) {
    console.log("keydown")
    if (!$("#enteredData").is(":focus")) {
        $("#enteredData").focus();
    }
});

这是其他看似无关的代码

$(function() {
    $("#submit-button").click(function(e) {
        e.preventDefault();
        console.log("submit")
        if (!$("#enteredData").is(":disabled") {    
            // do something 
        }
    });
});

function onAction(data) {
    if (!$("#enteredData").is(":disabled") {        
        // do something 
    }
}

在其中查看常见的if语句? if (!$("#enteredData").is(":disabled")。如果我从两个代码块中删除if条件,那么keydown函数可以正常工作。真的迷失在这里。

1 个答案:

答案 0 :(得分:3)

您似乎错过了第二个代码块中if个语句的右括号。

$(function() {
    $("#submit-button").click(function(e) {
        e.preventDefault();
        console.log("submit")
        if (!$("#enteredData").is(":disabled")) {
            processData($("#enteredData").val());           
        }
    });
});

function onAction(data) {
    if (!$("#enteredData").is(":disabled")) {       
        processData(data);
    }
}