javascript - 有没有更好的方法来处理相同的回调函数但不同的输入参数?

标签 javascript jquery html events event-handling

我有一个回调函数来删除 li 元素。

function deleteLi(liElement) { 
   liElement.remove()
}

两个按钮做同样的操作。将鼠标悬停在 liElement 上时,我会看到一个编辑和删除选项。单击编辑选项时,它会打开一个对话框,其中也有一个删除选项。所以两个按钮的作用相同,因此我调用了相同的函数。

但是看起来像这样

$('.edit').on('click', function() {
     currentField = $(this).parents('li');
     openDialog();
});


$('.delete1').on('click', function() {
     deleteLi($(this).parents('li'));
});

$('.delete2').on('click', function() {
    deleteLi(currentField)
});

那么有没有其他最好的方法来处理这个问题?

最佳答案

您可以简单地为删除按钮“delete1”提供一个类并使用以下代码

$('.delete1').on('click', function() {
     deleteLi($(this).parents('li'));
});

如果您的 css 与该删除按钮不同,则使用 jQuery 中的多类选择器。

根据评论编辑代码:

$('.delete1, .delete2').on('click', function() {
     if(currentField == null) {
         currentField = $(this).parents('li');
     }
     deleteLi(currentField);
});

关于javascript - 有没有更好的方法来处理相同的回调函数但不同的输入参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25846305/

相关文章:

javascript - Angular 2 登陆页面上的动态反向链接

javascript - 将所有 html 页面和文件夹重定向到 index.html

javascript - jQuery 等待上面的代码执行完成

javascript - 为什么聚焦时输入会移动?

javascript - 使用 jquery 切换对象的类

javascript - 哪些原型(prototype)属性在实例之间共享

javascript - div背景图片不改变重新上传

javascript - Window.load 仅在浏览器选项卡更改后有效

javascript - 如何最好地处理抓取内容中的相对网址?

html - 如何阻止我的广告空间 div 在托管时消失?在本地托管没问题,但是当我将其上传到我的网站时,div 会消失吗?