Jquery更改事件
所以基本上,我面临一个问题 我有一系列的popable div(下拉),它们里面有一个“close”按钮,在普通视图中,这会触发popable div关闭 我已经改变了功能,在某些div中,有一个链接可以转换到另一个div,这很好 问题是: 我希望“X”按钮的功能根据用户所在位置的状态进行更改,因此基本上更改事件侦听器。因此,如果用户处于标准弹出div中,请单击“X”,该div将关闭。如果用户已经从主div转换到另一个div,那么在单击“X”按钮后,它应该返回主div 目前,我已经尝试了以下方法,并且效果很好,但是在第一次之后,每次单击“X”时,都会弹出一个警报。(目前,我只希望警报出现在二级分区中)Jquery更改事件,jquery,html,Jquery,Html,所以基本上,我面临一个问题 我有一系列的popable div(下拉),它们里面有一个“close”按钮,在普通视图中,这会触发popable div关闭 我已经改变了功能,在某些div中,有一个链接可以转换到另一个div,这很好 问题是: 我希望“X”按钮的功能根据用户所在位置的状态进行更改,因此基本上更改事件侦听器。因此,如果用户处于标准弹出div中,请单击“X”,该div将关闭。如果用户已经从主div转换到另一个div,那么在单击“X”按钮后,它应该返回主div 目前,我已经尝试了以下方法
你知道我哪里出了问题吗?我想
解开可以解决这个问题:
$('.grantsPage').click(function() {
$('.X').bind("click", function(){
alert("Clicked");
$('.X').unbind();
e.preventDefault();
});
$(".subContentDiv").slideUp();
$("#divemployers-grants").slideDown().addClass('active');
scrollToSubSection('id3');
e.preventDefault();
});
谢谢你的回复。如果我在那里解除绑定,那么当它返回到正常div。。它没有被重新绑定,所以功能就停止了?是的,我试过这个。它正在工作,但当您解除绑定此事件时,您就解除了整个元素的绑定,它永远不会重新绑定。我无法向您展示HTML,因为它是一个相当大的站点,在jQuery的更高版本中,on
和off
比bind/unbind
更可取。您使用的是什么版本的jQuery?添加嵌套在单击处理程序中的单击处理程序通常是问题的迹象。将它们分开,检查处理程序中的div是否处于打开/关闭状态。如果第一个e
与X
,第二个与grantsPage
,请显示一些适当的HTML,以便我们可以提供一个适当的示例(例如,从Chrome F12 DOM检查器保存部分DOM):,您需要将e
作为参数添加到每个函数。@RickHitchcock您的意思是什么>将每个函数()更改为函数(e)
。否则,e
是未定义的(除非在别处定义)。
$('.grantsPage').click(function() {
$('.X').bind("click", function(){
alert("Clicked");
$('.X').unbind();
e.preventDefault();
});
$(".subContentDiv").slideUp();
$("#divemployers-grants").slideDown().addClass('active');
scrollToSubSection('id3');
e.preventDefault();
});