簡體   English   中英

定義並觸發自定義事件

[英]Define and trigger a custom event

我需要在DatatTble的單元格上調用自定義事件。 因此,我有以下方法:

(function ($) {
  $.fn.longClick = function (callback) {
    //event
  };
})(jQuery);

為了進行綁定,作為測試,我執行以下操作:

$("h1").longClick(function () {
  console.log('triggered');
});

我需要替換點擊事件:

$('#dtStatus').on('click', 'tbody td:not(:first-child)', function (e) {
  console.log('triggered');
});

隨着我的longpress活動。

$('#dtStatus').on('longClick', 'tbody td:not(:first-child)', function (e) {
  console.log('triggered');
});

h1 longclick和td click事件有效,但td longpress無效。 有人可以告訴我為什么不能使用on('longClick')這樣的事件嗎?

謝謝。

我認為您正在將功能與事件混在一起。 使用$.fn.longClick創建了一個已經通過$("h1").longClick(...)成功調用的函數。

現在,要將其像事件一樣使用,您需要先觸發它。 例如:

$('#dtStatus').click(function() {
    $(this).trigger("myEvent");
});

它在單擊的項目上觸發名為myEvent事件。 然后,您可以通過以下方式捕獲該事件:

$('#dtStatus').on("myEvent", function() {
    alert("myEvent called!");
});

您可以在jQuery文檔中閱讀有關自定義事件的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM