如何合并在相同类名上触发的两个函数?

时间:2018-08-16 08:01:43

标签: jquery function datatables click

我有一个function,当我单击jquery数据表项目中的项目时会触发。

$('.table tbody').on( 'click', '.item', function (e) {
   alert("clicked");
});

我在数据表外部有一个具有相同类的项目,可以与此function一起使用:

  $('.item').on( 'click', function (e) {
     alert("clicked");
  });

function内的内容是相同的。有没有办法将这两个功能合而为一?

1 个答案:

答案 0 :(得分:3)

您可以先创建一个函数

const func = () => {
   alert("clicked")
};

并在两个事件监听器中执行此操作

$('.table tbody').on( 'click', '.item', func);
$('.item').on( 'click', func);

更新

如果您想在函数中使用该事件,则也可以使用箭头函数。

const func = (e, el) => {
   e.preventDefault()
   alert($(el).attr("data-id"));
};

$('.table tbody').on( 'click', '.item', function(e){
     func(e, this);
});
$('.item').on( 'click',function(e){
     func(e, this);
});