jquery - 如何组合两个在同一个类名上触发的函数?
问题描述
function
当我单击我的 jquery 数据表项中的项时,我有一个触发。
$('.table tbody').on( 'click', '.item', function (e) {
alert("clicked");
});
我在数据表之外有一个具有相同类的项目,它适用于function
:
$('.item').on( 'click', function (e) {
alert("clicked");
});
里面的function
东西是一样的。有没有办法将这两个功能合二为一?
解决方案
您可以先创建一个函数
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);
});
推荐阅读
- mysql - MySql 从当前日期选择 1 周和 1 个月提前日期
- javascript - 一个记事本,即使在刷新后也能保留笔记
- json - 在 typeorm 中查询 JSON 字段
- php - 在不同域的不同网站之间共享登录会话
- java - 具有子状态的 Spring State Machine Builder 引发错误 - “未设置初始状态”
- java - 在第二个 android 中更新 UI 16 次
- c++ - 为什么我的 DLL 在给定绝对路径而不是相对路径时正确加载?
- python - 可视化面对面记录的最佳方式是什么?
- shell - 使用 shell 将一行中的第一个单词替换为另一个单词
- css - SVG 到 html 大小在不应该时放大