$.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 ); }
jQueryでカスタムイベントを作成するのは簡単です。 .trigger()メソッドを使用して、カスタムイベントをトリガーできます。簡単な例は次のとおりです。
$(document).trigger( 'mycustomevent');
この例では、「mycustomevent」はカスタムイベントの名前です。 jqueryのカスタムイベントハンドラーにデータを渡すにはどうすればよいですか?
$(document).trigger( 'mycustomevent'、{key: 'value'});
この例では、オブジェクト{key: 'value'}イベントハンドラーに渡された。 方法。例は次のとおりです。
$(document).on( 'mycustomevent'、function(event、data){
この例では、.on()メソッドに提供される関数はイベントハンドラーです。 jquery?
はい、イベントオブジェクトの.stoppropagation()メソッドを呼び出すことで、jqueryでのカスタムイベントの伝播を停止できます。例は次のとおりです。
$(document).on( 'mycustomevent'、function(event){
event.stoppropagation();
});
$(document).on( 'mycustomevent'、function(event){
event.preventdefault();
});
この例の例、PreventDefault()メソッドは、イベントに関連付けられたデフォルトのアクションを防ぎます。
はい、.on()メソッドの代わりに.one()メソッドを使用して、jqueryで1回だけカスタムイベントをトリガーできます。例は次のとおりです。
はい、.off()メソッドを使用してjqueryでカスタムイベントハンドラーを削除できます。例は次のとおりです。
$(document).off( 'mycustomevent');
この例では、ドキュメント上の「mycustomevent」のすべてのハンドラーが削除されます。 jqueryで手動でカスタムイベントをトリガーできますか?
はい、.trigger()メソッドを使用してjqueryで手動でカスタムイベントをトリガーできます。例は次のとおりです。
この例では、「mycustomevent」が手動でトリガーされます
はい、同じイベント名で.on()メソッドを複数回呼び出すことで、jqueryのカスタムイベントに複数のハンドラーをバインドできます。例は次のとおりです。
$(document).on( 'mycustomevent'、function(){
console.log( 'handler 1');
});
$(document).on( 'mycustomevent'、function(){
});
この例では、「mycustomevent」がトリガーされたときに両方のハンドラーが呼び出されます。
以上がjQueryトリガー()メソッド:jQueryでカスタムイベントを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。