gpt4 book ai didi

javascript - 将多个 'id' 绑定(bind)到单击正文标签并根据单击的按钮执行操作?

转载 作者:行者123 更新时间:2023-11-30 06:27:54 24 4
gpt4 key购买 nike

我在 razor 和 jquery 的帮助下用 mvc4 开发一个酒店应用程序。在我的应用程序中,我试图将点击事件绑定(bind)到我页面中的 2 个按钮,并根据点击的按钮执行适当的操作。但我的问题是,如何检查单击了哪个按钮?我有两个按钮的 ID。我试过了,

Jquery Find which button is clicked then run a specific If else statement? (Newbie)

但运气不好,因为我使用 body 标签将两个按钮绑定(bind)到点击事件,例如,

    $("body").on("click","#Room1, #Room2", function (e) {
if (counter> 0) {
//stmts
//stmts
if ($('#Room1').data('clicked', true))
//stmts
}
else {
if ($('#Room2').data('clicked', true))
{
//stmts
alert('Room1 clicked');
}
else
{
//stmts
alert('Room2 clicked');
}
//stmts
//stmts
}
});

(ie).,对于这两个按钮,我都绑定(bind)到同一个点击,因为我几乎没有要执行的通用 stmts。但是必须检查特定按钮是否被单击并执行一些其他操作。

我可以单独绑定(bind)它们并单独定义处理程序,但只是它们有一些共同的操作,我不想重复代码。

有人可以帮帮我吗?我相信那里有很多 jquery 专家..

提前致谢...

最佳答案

这个其实很简单。当您将事件委托(delegate)与 on 一起使用时方法,事件处理程序的上下文将是委托(delegate)元素。也就是说,它将是 "#Room1, #Room2" 选择器匹配的元素。用非常简单的术语来说,在事件处理程序中,this 将指向 #Room1#Room2 元素。

然后您可以检查 this.id 以确定单击了哪个元素。

$(document.body).on("click","#Room1, #Room2", function (e) {
alert(this.id + ' was clicked');

// common code

if (this.id === 'Room1') {
// #Room1 code
}

if (this.id === 'Room2') {
// #Room2 code
}
});

关于javascript - 将多个 'id' 绑定(bind)到单击正文标签并根据单击的按钮执行操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19953226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com