我需要在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');
});
我的长期活动。
$('#dtStatus').on('longClick', 'tbody td:not(:first-child)', function (e) {
console.log('triggered');
});
h1
longclick和td
点击事件有效,但td longpress
没有。
有人可以告诉我为什么我不能使用像on('longClick')
这样的活动吗?
谢谢。
答案 0 :(得分:1)
我认为你正在将功能与事件混合在一起。使用$.fn.longClick
,您创建了一个已使用$("h1").longClick(...)
成功调用的函数。
现在,要像事件一样使用它,您需要先触发它。例如:
$('#dtStatus').click(function() {
$(this).trigger("myEvent");
});
它会在单击的项目上触发名称为myEvent
的事件。然后你可以通过以下方式捕获该事件:
$('#dtStatus').on("myEvent", function() {
alert("myEvent called!");
});
您可以在jQuery documentation中了解有关自定义事件的更多信息。