[英]jQuery trigger() with Custom Event?
我正在使用一些代碼(由其他人編寫),如下所示:
var _layoutRoot = $("#whatever");
eventName = 'CopyArticle';
eventData = { targetArticleIds: selectedArticleIds, targetCategoryIds: selectedCategoryIds };
// fire the event
if (eventName) // null is unexepcted here
_layoutRoot.trigger(eventName, eventData);
我只是不清楚這意味着什么。
我可以看到trigger
導致命名事件發生。 但是,什么時候有一個JavaScript CopyArticle
事件? 這是一個有效的事件,它將如何處理?
jQuery允許您觸發任何名稱的事件
$(".foo").on("some:custom:event", function(event) {
console.log("hello");
});
$(".foo").trigger("some:custom:event");
// hello
只需將自定義事件附加到on
的元素即可。 要觸發事件,請使用trigger
。 您可以使用數組將額外參數傳遞給觸發器函數。
HTML
<div id="test"></div>
JS
$("#test").on("customEvent", function(e,msg){
alert(msg);
});
var dataToPass = "This is a msg";
$("#test").trigger("customEvent", [dataToPass]);
JS小提琴: http : //jsfiddle.net/85wjt/1/
根據jquery 網站
當我們使用.on()方法定義自定義事件類型時,.trigger()的第二個參數可能會變得有用。 例如,假設我們已將自定義事件的處理程序綁定到我們的元素而不是上面的內置click事件:
$( "#foo" ).on( "custom", function( event, param1, param2 ) {
alert( param1 + "\n" + param2 );
});
$( "#foo").trigger( "custom", [ "Custom", "Event" ] );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.