jquery - 在 jQuery 中绑定(bind)事件的更好方法

标签 jquery events bind

我正在寻找一种更好的方法将多个事件绑定(bind)到 jQuery 中的单个元素。我试图避免编写多个 $(element).bind('event', ...) 或 $(element).event(...) 语句。

代码

// old way    
var textbox = $('input');
$(textbox).focus(function() { ... }
$(textbox).blur(function() { ... }

// new way
$(textbox).extend({
    focus: function() {
           ...
    },
    blur: function() {
            ....
    }
});

不幸的是,这个实现不起作用。有人有更好的建议吗?谢谢。

最佳答案

到目前为止,所有答案都假设您想要将相同的回调函数绑定(bind)到多个事件。如果情况并非如此,请考虑将 .on() 与事件映射一起使用:

$('selector').on({
    focus: function(e) {
        // do something for focus
    },
    blur: function(e) {
        // do something else entirely for blur
    },
    ...
}

关于jquery - 在 jQuery 中绑定(bind)事件的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9772324/

相关文章:

c++ - 使用 std::sort 和 boost::bind

jquery - 让 Bootstrap pill 在 table 内工作

javascript - 如何根据内容的大小写来应用类

javascript - 未捕获的 ReferenceError : $ is not defined when using $(document). 就绪

c# - 如何将事件从 Facade 附加到另一个类

动态生成的链接上的 jQuery 事件

javascript - 从一个按钮滚动到不同的 ID

java - GWT MVP : HandlerManager EventHandler vs GUI EventHandler

c# - SelectedIndexChanged 不起作用!

javascript - 带右侧图标的 bulma 输入字段 : how to bind jquery event