gpt4 book ai didi

javascript - jquery 函数中的自定义事件绑定(bind)不起作用

转载 作者:行者123 更新时间:2023-12-03 12:27:54 24 4
gpt4 key购买 nike

我刚刚了解 jQuery .on() 方法并决定使用它,因为它比使用多个绑定(bind)干净得多。只要我使用预定义的事件,它就可以工作,但是当我尝试添加自定义事件时,它就不起作用。

我有这个辅助功能

var EV_ENTER_KEY = "enterKey";
function bind_events(cur_obj, e) {
if (e.keyCode == 13) {
$(cur_obj).trigger(EV_ENTER_KEY);
}
}

我在下面的代码中使用它

CATEGORY_INPUT.on({
keyup: function (e) {
bind_events(this, e);
}
});

//Action for Category Search box Enter press
CATEGORY_INPUT.bind(EV_ENTER_KEY, function () {
alert("Aseem");
});

我将其更改为以下内容

CATEGORY_INPUT.on({
keyup: function (e) {
bind_events(this, e);
},
EV_ENTER_KEY: function () {
alert("Aseem");
}
});

但是它不起作用。为此,控制台中也没有记录任何错误。我看了看,发现this我认为我使用它是正确的。 API reference没有任何绑定(bind)多个事件的示例。有人能告诉我我是否错过了 API 中的某些内容吗?如果不是,这里有什么问题?

最佳答案

看来你必须直接将自定义事件作为字符串提供,而不是将其存储在 js 变量中然后使用它。如果您在多事件绑定(bind)中将 EV_ENTER_KEY 更改为“enterKey”,那么它将起作用。

$(".myInput").on({
keyup: function (e) {
bind_events(this, e);
},

"enterKey": function () {
alert("Enter key pressed");
}
});

JS fiddle 演示:http://jsfiddle.net/9ur4c/

关于javascript - jquery 函数中的自定义事件绑定(bind)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24095288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com