jQuery:将同一事件附加到同一页面上的多个控件
我有一个表格,在这个表格上,某些问题有特殊的jQuery:将同一事件附加到同一页面上的多个控件,jquery,modalpopup,Jquery,Modalpopup,我有一个表格,在这个表格上,某些问题有特殊的css类与之关联。现在,在document.ready上,我有$('.cssclassname')。在上,我通过ajax调用并显示该类行中返回的数据 返回的组件之一是一个按钮,单击该按钮将显示jQuery modalpoup,并在我的$('.cssclassname')中获取数据。在上,我附加我的modalpoup事件,以便modalpoup通过该按钮单击正确工作 现在我面临的问题是,有时候,我的页面上有3-4个按钮,每次我点击1个按钮,打开modal
css
类与之关联。现在,在document.ready
上,我有$('.cssclassname')。在上,我通过ajax
调用并显示该类行中返回的数据
返回的组件之一是一个按钮,单击该按钮将显示jQuery modalpoup
,并在我的$('.cssclassname')中获取数据。在上,我附加我的modalpoup事件,以便modalpoup
通过该按钮单击正确工作
现在我面临的问题是,有时候,我的页面上有3-4个按钮,每次我点击1个按钮,打开modalpopup的代码就会运行x次(其中x是按钮数)。我认为问题在于modalpoup具有相同的类,并且由于x个按钮的数量,我附加了x次相同的事件
他们有没有办法解决这个问题,我只附加一个特定的事件函数,每页加载一次
我在解释这个问题时有点困惑,但请让我知道任何人都可以在这方面帮助我,或者需要更多的澄清
谢谢,这是一种最简单的方法,因此可以为所有具有此行为的按钮添加一个类,并一次性绑定它们
<button id='modalTrigger1' class='modelPopupTrigger'>Click</button>
<button id='modalTrigger2' class='modelPopupTrigger'>Click</button>
<button id='modalTrigger3' class='modelPopupTrigger'>Click</button>
或者,您可以将函数分配给变量,并重用该函数进行绑定
$(function(){
var modelHandler = function(){... handler...};
$("#button1").on("click", modelHandler);
$("#button2").on("click", modelHandler);
});
最简单的方法是,向所有具有此行为的按钮添加一个类并一次性绑定它们
<button id='modalTrigger1' class='modelPopupTrigger'>Click</button>
<button id='modalTrigger2' class='modelPopupTrigger'>Click</button>
<button id='modalTrigger3' class='modelPopupTrigger'>Click</button>
或者,您可以将函数分配给变量,并重用该函数进行绑定
$(function(){
var modelHandler = function(){... handler...};
$("#button1").on("click", modelHandler);
$("#button2").on("click", modelHandler);
});
据我所知,您有两种选择:
- 使用
.off()
重新绑定事件之前先解除绑定事件(奇怪)
- 将委派与.on()一起使用:
$(文档)。在(“单击”、“.className”,
函数(){})
据我所知,您有两种选择:
- 使用
.off()
重新绑定事件之前先解除绑定事件(奇怪)
- 将委派与.on()一起使用:
$(文档)。在(“单击”、“.className”,
函数(){})
这是打字错误:$('cssclassname')。在吗?应为$('.cssclassname')。on@roasted:这只是一个输入错误,我仍然会更正它。这解决了我的问题。这是我在回答中告诉你的:“在使用.off()(怪异)重新绑定事件之前先解除绑定”。@broading:示例或语法将非常有用,无论如何,谢谢。我不知道如何解除绑定然后再绑定..这是一个输入错误:$('cssclassname')。on?应为$('.cssclassname')。on@roasted:这只是一个输入错误,我仍然会更正它。这解决了我的问题。这是我在回答中告诉你的:“在使用.off()(怪异)重新绑定事件之前先解除绑定”。@broading:示例或语法将非常有用,无论如何,谢谢。我不知道怎样解开然后再绑起来。。