Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.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
Javascript 停止传播_Javascript_Jquery_Click_Stoppropagation - Fatal编程技术网

Javascript 停止传播

Javascript 停止传播,javascript,jquery,click,stoppropagation,Javascript,Jquery,Click,Stoppropagation,我有一个面板,通过单击类为的元素来打开和关闭以显示菜单。打开。当我第一次点击它时,面板打开了。面板打开后,我单击菜单项,面板关闭 我面临的问题是,一旦单击菜单项关闭面板,我需要在面板再次打开之前点击两次.open 我首先运行以下命令: $(".open").toggle(function(){ $(".header").animate({height:"100%"},200); },function(){ $(".header").animate({height:50

我有一个面板,通过单击类为
的元素来打开和关闭以显示菜单。打开
。当我第一次点击它时,面板打开了。面板打开后,我单击菜单项,面板关闭

我面临的问题是,一旦单击菜单项关闭面板,我需要在面板再次打开之前点击两次
.open

我首先运行以下命令:

$(".open").toggle(function(){
   $(".header").animate({height:"100%"},200);
   },function(){
        $(".header").animate({height:50},200);
});
这将打开一个带有菜单的面板,然后当我单击菜单项时,我执行以下操作:

$(".navMore li a").on("click", function(e) {
   e.preventDefault();
    ...
这是传播的问题吗?添加:

$(".navMore li a").on("click", function(e) {
   e.preventDefault();
   e.stopPropagation();

仍然给我留下了同样的问题。

JQuery中出现了
单击事件。为了防止这种情况发生,您需要停止在较低元素上冒泡的传播,并停止较高元素的处理程序触发

$('.open')
函数中,需要放置以下内容:

$(".open").toggle( function( event ) {
    if( !$( event.target ).is("a") )
        {
            $(".header").animate({height:"100%"},200);
        }
},....);

单击
事件在JQuery中弹出。为了防止这种情况发生,您需要停止在较低元素上冒泡的传播,并停止较高元素的处理程序触发

$('.open')
函数中,需要放置以下内容:

$(".open").toggle( function( event ) {
    if( !$( event.target ).is("a") )
        {
            $(".header").animate({height:"100%"},200);
        }
},....);

现在还不清楚你想要实现什么,或者你面临的问题是什么。请详细说明。我已经更新了这个问题。不清楚你想要实现什么,或者你面临什么问题。请详细说明。我已更新了问题..open不是“a”,但blocktarget是事件的属性,它告诉您触发它的元素是什么。仍然需要双击:(.open不是“a”,但blocktarget是事件的属性,它告诉您触发它的元素是什么。仍然需要双击:(