基本上,我有一个"Delete Selected“按钮,只要没有选中任何复选框,这个按钮就会被禁用。只要用户选中一个复选框,我就想将一个单击事件处理程序绑定到此按钮。
当用户取消选中复选框而没有选中复选框时,我希望将完整的事件处理程序函数存储在一个变量中,并且只在选中复选框后立即绑定它。
问题是:如何将此事件处理程序函数存储在变量中,以便最容易地将其绑定到对象?
到目前为止,我只使用它来解除绑定一个事件处理程序(已经存在于这个对象上),然后再次绑定它,如下所示:
$(my-selector).unbind('click', eventHandler);
$(my-selector).bind('click', eventHandler);
...but永远不会反过来。
发布于 2012-08-18 18:56:27
我的建议是走一条不同的路线:绑定事件,并将它们绑定到页面的整个生命周期。在事件处理程序中,检查相关对象的状态并决定如何处理事件-这可能包括简单地忽略它。
这背后有两个理由:
发布于 2012-08-18 18:56:10
我不确定我是不是明白了,你的意思是这样的吗?
// eventHandler function
var eventHandler = function(event) {
... // do something
}
// bind eventHandler function to jQuery collection
$(my-selector).bind('click', eventHandler);
$(my-selector).unbind('click', eventHandler);
发布于 2012-08-18 18:56:22
var handlerFunc = function () {...}
$(my-selector).unbind('click', handlerFunc);
$(my-selector).bind('click', handlerFunc);
https://stackoverflow.com/questions/12021314
复制相似问题