Javascript 使用jQuery连接事件的模式
请看最后的代码,看看我在jQuery代码中用来连接事件的方法。我更喜欢使用bind,正如您所看到的,我不喜欢在事件处理程序中使用匿名函数 我之所以使用命名函数,是因为以下两个原因:Javascript 使用jQuery连接事件的模式,javascript,jquery,Javascript,Jquery,请看最后的代码,看看我在jQuery代码中用来连接事件的方法。我更喜欢使用bind,正如您所看到的,我不喜欢在事件处理程序中使用匿名函数 我之所以使用命名函数,是因为以下两个原因: 可读性 多次调用my WireUpGlobalCommand和ClickEvents不会将多个事件处理程序添加到单击我的链接中 这有一个副作用-我需要使用bind的功能将数据传递给OnAddNewSnippetClick,因为在OnAddNewSnippetClick中,它现在指的是引发事件的元素 我一直将JavaS
SettingsController.prototype = {
OnAddNewSnippetClick: function(event) {
event.data.SettingsController.SettingsAjaxHelper.AddNewSnippet(event.data.Parameter, event.data.SettingsController);
},
WireUpGlobalCommandClickEvents: function(parameter) {
$('#addSnippetLink').bind("click", { SettingsController: this, Parameter: parameter }, this.OnAddNewSnippetClick);
}
};
如果您真的对绑定多个事件有疑虑,可以使用live,它会根据选择器自动连接事件
$(".stuff").live('click',function(){});
或
或
但是,是的,看起来您试图用javascript实现MVC,这可能有些过头了
$("#element").one('click',function(){});
$("#element").unbind('click').bind('click',function(){});