一个函数用于具有不同id的多个按钮

Ely*_*yor 3 jquery button

我有

$('#BtOpenFile').click(function () { SetTimeextendBtn(); });
Run Code Online (Sandbox Code Playgroud)

但是有多个按钮具有不同的ID #BtAquire, #BtDelete, ...,我希望SetTimeextendBtn()用于所有按钮.我不想重复这个功能.

我们怎么做?

Adi*_*dil 6

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

$('#BtOpenFile, #BtAquire').click(function () { SetTimeextendBtn(this); });
Run Code Online (Sandbox Code Playgroud)

将当前对象传递给SetTimeextendBtn(this);

function SetTimeextendBtn(source)
{
    alert(source.id);
}
Run Code Online (Sandbox Code Playgroud)

通过使用要绑定单击处理程序的相同类,应考虑另一种方法.假设你有一个普通类.btn的按钮

 $('.btn').click(function () { SetTimeextendBtn(this); });
Run Code Online (Sandbox Code Playgroud)

注意:如果您的click处理程序只是调用一个函数并传递当前对象,那么您可以直接将该函数传递给click:

$('.btn').click(SetTimeextendBtn);
Run Code Online (Sandbox Code Playgroud)

您可以访问源按钮(对象)SetTimeextendBtn使用this的DOM对象,并$(this)为被点击的jQuery对象按钮.


mpl*_*jan 6

使用课程.

此外,如果匿名函数中没有其他内容,请将其废弃并直接附加其他函数

$('.BtActions').on("click",SetTimeextendBtn);

如果您需要知道点击了什么,可以直接在功能中访问该按钮:

function SetTimeextendBtn() {
  var id = this.id; // or $(this).prop("id");
}
Run Code Online (Sandbox Code Playgroud)