我有
$('#BtOpenFile').click(function () { SetTimeextendBtn(); });
Run Code Online (Sandbox Code Playgroud)
但是有多个按钮具有不同的ID #BtAquire, #BtDelete, ...,我希望SetTimeextendBtn()用于所有按钮.我不想重复这个功能.
我们怎么做?
您可以使用逗号在选择器中添加多个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对象按钮.
使用课程.
此外,如果匿名函数中没有其他内容,请将其废弃并直接附加其他函数
$('.BtActions').on("click",SetTimeextendBtn);
如果您需要知道点击了什么,可以直接在功能中访问该按钮:
function SetTimeextendBtn() {
var id = this.id; // or $(this).prop("id");
}
Run Code Online (Sandbox Code Playgroud)