我需要在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 documentation中了解有关自定义事件的更多信息。