如何在jQuery中定义自己的事件?
答案 0 :(得分:5)
使用.bind()
定义并附加您自己的自定义事件:
// make myObject listen for myFancyEvent
$('#myobject').bind('myFancyEvent', function(){
alert('Yow!');
});
...然后直接.trigger()
:
$('#myobject').trigger('myFancyEvent');
...或与其他事件处理程序混合使用:
$('#myobject').click( function(){
doSomething();
$(this).trigger('myFancyEvent');
});
您不应该在查找有关该主题的大量信息时遇到困难。 This article已有几年历史,但仍然是一个很好的概述。
答案 1 :(得分:1)
请参阅此link。
以下是上述文章中的一些代码段。
您可以使用jQuery在您选择的任何DOM对象上触发自定义事件。只需使用以下代码触发它:
$("#myelement").trigger('fuelified');
您可以使用jQuery中的bind或live函数订阅该事件:
$("#myelement").bind('fuelified',function(e){ ... });
$(".cool_elements").live('fuelified',function(e){ ... });
您甚至可以在触发事件时传递有关事件的其他数据,并在侦听器端引用它:
$("#myelement").trigger('fuelified',{ custom: false });
$("#myelement").bind('fuelified',function(e,data){ if(data.custom) ... });
调用触发器的元素可供侦听器的回调函数用作变量this。
答案 2 :(得分:1)