繁体   English   中英

JavaScript .on(“keyup”)

[英]JavaScript .on(“keyup”)

有一个输入文本在“onkeyup”事件上触发一个函数。 当该函数触发时,我正在使用.on(“keyup”)方法绑定“keyup”事件,以获取最后一个按下的键,以查明它是否为字母数字,以便触发我想要的搜索ajax。 在我完成之后,我解除了与.off(“keyup”)方法的连接。

但是这个问题存在问题。 问题是; 我的代码运行一次并且没有转弯运行,然后再次运行并且不会运行另一个转弯并保持这样。 我替换了我想要简化它的代码进行测试。

 $("#arama").on("keyup",function(event) { console.log("asd"); $("#arama").off("keyup"); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input id="arama" /> 

我哪里弄错了?

PS:感谢克里斯,我已经解决了。

您的代码适合我(见下文)。 也许检查你绑定你的keyup事件的位置。 在页面显示之前加载文档时应该绑定一次。 如果多次绑定它(即如果包含您的keyup函数的代码运行多次),您将遇到问题。

 $("#arama").on("keyup", function(event) { var i = event.keyCode; if ((i >= 48 && i <= 57) || (i >= 96 && i <= 105)) { $("#arama").off("keyup"); console.log("Number pressed. Stopping..."); } else { console.log("Non-number pressed."); } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input id="arama" /> 

无需取消绑定事件。 尝试这个

$("#arama").on("keyup",function(event) {
    console.log("asd");
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM