当其他功能码出现时keydown事件不起作用
好吧,我真的很难过。我将一个函数绑定到keydown,但是如果在两个看起来不相关的代码中存在特定的条件,它将不会触发。当其他功能码出现时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")
。如果我从两块代码中删除条件,那么keydown函数可以正常工作。真的迷失在这里。
您的第二个代码块中的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);
}
}
哇....为什么不会显示错误的JavaScript控制台。谢谢! – zero01alpha
@ zero01alpha:它会和所有主要的桌面浏览器。 (也许是最小的也是。) –
@TJCrowder哇....我刚刚发现,我不知何故在Firefox控制台中意外关闭了JS .... console.log语句仍然显示,虽然这很奇怪.. .jeez。 – zero01alpha
请使用Stack Snippets('[]'工具栏按钮)以** runnable ** [mcve]更新您的问题,以显示问题。 –
随时检查控制台的JavaScript错误。 – James
@ T.J.Crowder我做了改变,是更好的吗? – zero01alpha