有一个输入文本在“onkeyup”事件上触发一个函数。当该函数触发时,我使用.on(“keyup”)方法绑定一个“keyup”事件,以便获取最后一次按下的键以查找它是否是字母数字以便激发我想要的搜索ajax。在完成之后,我使用.off(“keyup”)方法解除连接。JavaScript .on(“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" />
我在哪里弄错了?
P.S:我已经解决了,这要感谢Chris。
很奇怪,你的代码运行日志,即使我写一次多次http://i.hizliresim.com/JazolQ.png –
这是因为它被解除绑定'keyup'事件它发射一次后。你可以在'.off(“keyup”)'命令中设置一个条件来控制何时停止运行父功能。 –
你好像误解了我。看到这些2图片http://i.hizliresim.com/nRN8da.png http://i.hizliresim.com/GB48Av.png第一张图片我写了3个字符,它没有记录第三个字符,On第二张图片我写了4个字符,并且每隔两次都记录一次字符它记录了第三个和第四个字符的记录。我正在查看它是否是字母数字不只是数字它是为了确保它不是按Ctrl,Alt或者是 –