gpt4 book ai didi

jquery - 如何使用 jQuery 将多个事件处理程序绑定(bind)到一个事件?

转载 作者:行者123 更新时间:2023-12-01 07:36:46 25 4
gpt4 key购买 nike

当我尝试将多个事件处理程序附加到单个事件时,我遇到了 jQuery 的奇怪行为。

如何将两个不同的事件处理程序绑定(bind)到同一个事件?

$(this).focus(function(){/*...*/});
$(this).focus(function(){/*...*/}); // replaces the previous one?

我错过了什么?

更新

您知道它是否会影响事件数据的路由方式吗?添加第二个事件处理程序似乎会导致 eventObject.data 属性返回 undefined...?

<小时/>

尾声

这个问题在某种程度上与 jQuery 规范化事件处理的方式以及 eventObject 数据属性如何根据路由而变化有关,我曾经有一个延迟计时器,它会在稍后的时间读取该属性它是未定义的,我通过简单地为其创建一个本地临时文件来解决它。

obj.inputText.bind('blur', obj, function(e) {
var div = e.data.div;
setTimeout(function() { div.hide(); }, 333); // works!
// setTimeout(function() { e.data.div.hide(); }, 333); // does not work
});

最佳答案

这确实有效。我刚刚仔细检查了这段代码:

$(document).ready(function() {
$("#FirstName").focus(function() {
console.log("focus1");
});

$("#FirstName").focus(function() {
console.log("focus2");
});
});

当输入字段获得焦点时,它确实会产生两条控制台消息。

您确定两个处理程序都没有运行吗?

关于jquery - 如何使用 jQuery 将多个事件处理程序绑定(bind)到一个事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/702352/

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