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是事件的属性,它告诉您触发它的元素是什么。仍然需要双击:(