$.event.trigger({ type: "newMessage", message: "Hello World!", time: new Date() });
$(document).on("newMessage", newMessageHandler);
$("#msgbox").on("submit", SendMessage); // new message: raise newMessage event function SendMessage(e) { e.preventDefault(); var msg = $("#msg").val().trim(); if (msg) { $.event.trigger({ type: "newMessage", message: msg, time: new Date() }); } }
// newMessage event subscribers $(document).on("newMessage", newMessageHandler); // newMessage event handler function newMessageHandler(e) { LogEvent( "Event subscriber on "+e.currentTarget.nodeName+", " +e.time.toLocaleString()+": "+e.message ); }
$(document).trigger('mycustomevent');
$(document).trigger('mycustomevent',{key:'value'});
在此示例中,对象{key:'value'} is传递给事件处理程序。
$(document).on('mycustomevent',function(event,data){
console.log(data.key); //'value'value'
}) ;在此示例中,在此示例中,提供给.on()方法的功能是事件处理程序。
event.stoppropagation();
});
,stoppropagation()方法可防止事件冒泡。是的,您可以通过在事件对象上调用.preventDefault()方法来防止jQuery中自定义事件的默认操作。这是一个示例:
$(document).on('mycustomevent',function(event){
我只能在jquery中触发一次自定义事件?
>是的,您可以使用.One()方法而不是.on()方法在jQuery中仅触发一次自定义事件。这是一个示例:
$(document).One('mycustomevent',function(){console.log('this只能记录一次。');
});
我可以删除自定义事件在jQuery中使用的处理程序?这是一个示例:
在此示例中,删除了文档上'mycustomevent'的所有处理程序。我可以在jQuery中手动触发自定义事件吗?以下是一个示例: $(document).on('mycustomevent',function(){console.log('handler 1');
$(document).trigger('mycustomevent');
在此示例中,'mycustomevent'被手动触发。
>>我可以将多个处理程序绑定到jQuery中的自定义事件吗?这是一个示例:
}) $(document)。 2');
});
在此示例中,当触发“ mycustomevent'”时,将调用两个处理程序。
>
以上是jQuery trigger()方法:如何在jQuery中创建自定义事件的详细内容。更多信息请关注PHP中文网其他相关文章!