我有

$('#BtOpenFile').click(function () { SetTimeextendBtn(); });

但是有多个按钮具有不同的 ID,例如 #BtAquire, #BtDelete, ...,我想对所有按钮使用 SetTimeextendBtn()。我不想重复这个功能。

我们怎么做?

最佳答案

您可以使用逗号在选择器中添加多个 id

$('#BtOpenFile, #BtAquire').click(function () { SetTimeextendBtn(this); });

将当前对象传递给 SetTimeextendBtn(this);
function SetTimeextendBtn(source)
{
    alert(source.id);
}

应考虑使用另一种方法,即使用要绑定(bind)单击处理程序的同一类。假设你有一个通用类 .btn 的按钮
 $('.btn').click(function () { SetTimeextendBtn(this); });

注意: 如果你的点击处理程序只是调用一个函数并传递当前对象,那么你可以直接将函数传递给点击:
$('.btn').click(SetTimeextendBtn);

您可以在 SetTimeextendBtn 中使用 this 访问 DOM 对象的源按钮(对象)和 $(this) 用于单击按钮的 jQuery 对象。

关于jquery - 具有不同 id 的多个按钮的一种功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31912311/

10-12 06:01