原谅我的无知,因为我对 jquery 不太熟悉。是否有等效的 dojo.connect() ?
我找到了这个解决方案: http: //think-robot.com/2009/06/hitch-object-oriented-event-handlers-with-jquery/
但没有断开功能!
您知道 jquery 中的其他解决方案吗?有 jquery.connect 但这个插件在我的测试中不起作用。
谢谢你的帮助,
斯蒂芬
原谅我的无知,因为我对 jquery 不太熟悉。是否有等效的 dojo.connect() ?
我找到了这个解决方案: http: //think-robot.com/2009/06/hitch-object-oriented-event-handlers-with-jquery/
但没有断开功能!
您知道 jquery 中的其他解决方案吗?有 jquery.connect 但这个插件在我的测试中不起作用。
谢谢你的帮助,
斯蒂芬
最接近的等效 jQuery 是.bind()
,例如:
$("#element").bind('eventName', function(e) {
//stuff
});
并.unbind()
删除处理程序,如下所示:
$("#element").unbind('eventName');
也有快捷方式.bind()
,例如click
可以通过两种方式完成:
$("#element").bind('click', function() { alert('clicked!'); });
//or...
$("#element").click(function() { alert('clicked!'); });
还有.live()
( .die()
to unbind) 和.delegate()
( .undelegate()
to unbind) 用于基于冒泡而不是直接附加的事件处理程序,例如动态创建的元素。
上面的例子是匿名函数,但是你可以直接提供一个函数,就像 dojo(或者任何 javascript)一样,像这样:
$("#element").click(myNamedFunction);
等效于 dojo.connect() 是什么意思?
如果您愿意创建自己的自定义事件处理程序,请查看Events中的bind()、trigger()和proxy()。
proxy()函数将允许您在回调函数中重新定义this指向的内容。
没有这样的,但你可以实现如下相同的事情:
$('#someid').click(function() { SomeFunc($(this)) });
这会将 somefunc 连接到 ID 为“someid”的控件的单击事件。单击控件时,将调用该函数,并且参数将是一个 jquery 对象,该对象引用被单击的控件。
更新我刚刚做了更多的研究,我认为.delegate()更接近你想要的。
jQuery connect相当于 dojo.connect。