繁体   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