好的,我真的很难过。我正在将一个函数绑定到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函数可以正常工作。真的迷失在这里。
答案 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);
}
}