Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery更改事件_Jquery_Html - Fatal编程技术网

Jquery更改事件

Jquery更改事件,jquery,html,Jquery,Html,所以基本上,我面临一个问题 我有一系列的popable div(下拉),它们里面有一个“close”按钮,在普通视图中,这会触发popable div关闭 我已经改变了功能,在某些div中,有一个链接可以转换到另一个div,这很好 问题是: 我希望“X”按钮的功能根据用户所在位置的状态进行更改,因此基本上更改事件侦听器。因此,如果用户处于标准弹出div中,请单击“X”,该div将关闭。如果用户已经从主div转换到另一个div,那么在单击“X”按钮后,它应该返回主div 目前,我已经尝试了以下方法

所以基本上,我面临一个问题

我有一系列的popable div(下拉),它们里面有一个“close”按钮,在普通视图中,这会触发popable div关闭

我已经改变了功能,在某些div中,有一个链接可以转换到另一个div,这很好

问题是:

我希望“X”按钮的功能根据用户所在位置的状态进行更改,因此基本上更改事件侦听器。因此,如果用户处于标准弹出div中,请单击“X”,该div将关闭。如果用户已经从主div转换到另一个div,那么在单击“X”按钮后,它应该返回主div

目前,我已经尝试了以下方法,并且效果很好,但是在第一次之后,每次单击“X”时,都会弹出一个警报。(目前,我只希望警报出现在二级分区中)


你知道我哪里出了问题吗?

我想
解开
可以解决这个问题:

$('.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();

});