JavaScript.on(“keyup”)

JavaScript.on(“keyup”),javascript,jquery,bind,keyup,unbind,Javascript,Jquery,Bind,Keyup,Unbind,有一个输入文本在“onkeyup”事件上触发一个函数。当该函数启动时,我将使用.on(“keyup”)方法绑定一个“keyup”事件,以获取最后一个按下的键,以确定它是否是字母数字键,从而启动我想要的搜索ajax。完成后,我使用.off(“keyup”)方法解除连接绑定 但这其中有一个问题。问题是,;我的代码运行一次,一次不运行,然后再次运行,另一次不运行,并保持这样运行。我替换了我想简化测试的代码 $(“#arama”)。关于(“键控”,函数(事件){ 控制台日志(“asd”); 美元(“#

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

但这其中有一个问题。问题是,;我的代码运行一次,一次不运行,然后再次运行,另一次不运行,并保持这样运行。我替换了我想简化测试的代码

$(“#arama”)。关于(“键控”,函数(事件){
控制台日志(“asd”);
美元(“#阿拉马”)。关闭(“键控”);
});

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

$(“#arama”)。关于(“键控”,函数(事件){
var i=event.keyCode;
如果((i>=48&&i=96&&i您的代码对我有效(见下文)。可能会检查您在哪里绑定
keyup
事件。在页面显示之前加载文档时,应该绑定一次。如果绑定多次(即,如果包含
keyup
函数的代码运行多次)你会遇到问题的

$(“#arama”)。关于(“键控”,函数(事件){
var i=event.keyCode;

如果((i>=48&&i=96&&i无需解除事件绑定。请尝试此操作

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

无需解除事件绑定。请尝试此操作

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

很奇怪,你的代码只运行了一次日志,尽管我写了多次,这是因为它在触发一次
keyup
事件后解除了绑定。你可以在
.off(“keyup”)上设置一个条件
用于控制何时停止运行父函数的命令。似乎您误解了我的意思。在第一张图片上看到这两张图片,我写了3个字符,但它没有记录第3个字符,在第二张图片上,我写了4个字符,因为它每两次登录一次,所以它会同时记录第3和第4个字符。我正在查看是否这是字母数字而不仅仅是数字。这是为了确保它不是ctrl、alt或Smthan。是的,每次输入文本的onkeyup事件触发时,我都会绑定它。我想这是我错的地方。但是我该怎么办呢?好吧,我会一次性绑定
keyup
事件。我看不到解除绑定函数的理由。如果你不想函数在满足某个条件时执行某项操作,只需使用布尔值跟踪即可。很奇怪,您的代码只运行日志一次,尽管我已经编写了多次,这是因为它在触发一次后解除了
keyup
事件的绑定。您可以在
.off(“keyup”)上设置条件
用于控制何时停止运行父函数的命令。似乎您误解了我的意思。在第一张图片上看到这两张图片,我写了3个字符,但它没有记录第3个字符,在第二张图片上,我写了4个字符,因为它每两次登录一次,所以它会同时记录第3和第4个字符。我正在查看是否这是字母数字而不仅仅是数字。这是为了确保它不是ctrl、alt或Smthan。是的,每次输入文本的onkeyup事件触发时,我都会绑定它。我想这是我错的地方。但是我该怎么办呢?好吧,我会一次性绑定
keyup
事件。我看不到解除绑定函数的理由。如果你不想函数在满足某些条件时执行某些操作,只需使用布尔值跟踪它。实际上,我必须解除绑定,因为每次我按下输入文本上的键时,父函数都会触发多次声明它。如果我不解除绑定,它将不断绑定,并多次触发代码。实际上,我必须解除绑定因为每次我按下输入文本上的键时,父函数都会触发多次声明它。如果我不解除绑定,它会不断地绑定,并多次触发代码。