我正在使用此代码:
$('body').click(function() {
$('.form_wrapper').hide();
});
$('.form_wrapper').click(function(event){
event.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)
这个HTML:
<div class="form_wrapper">
<a class="agree" href="javascript:;">I Agree</a>
<a class="disagree" href="javascript:;">Disagree</a>
</div>
Run Code Online (Sandbox Code Playgroud)
问题是我在DIV内部有链接,当它们点击时它们不再有效.
我有一个无序列表,其中包含附加到li元素的mouseover和mouseout事件.每个都包含一个链接,并在li中有一些填充.当鼠标悬停在li上时,鼠标悬停事件被触发,但当我鼠标悬停在li中包含的链接时,mouseout和mouseover事件都按顺序触发.似乎子元素正在触发它们的父元素鼠标事件......我该如何停止这个?我希望它只是在鼠标悬停在链接上时保持鼠标悬停,而不是每次鼠标悬停在链接上时都不激活动画.这是我的代码;
jQuery(document).ready(function(){
jQuery('#menu li ul').hide();
jQuery('#menu li').mouseover( function() {
jQuery(this).children("ul").show('fast').stop;
return false;
});
jQuery('#menu li').mouseout( function() {
jQuery(this).children("ul").hide('fast').stop;
return false;
});
});
<ul id="menu">
<li><a href="">Some link</a>
<ul>Sub content</ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud) 我有一个表,其中点击事件绑定到其行(<tr>).<a>这些行中有一些元素,它们分配了自己的点击事件.
问题是,当我点击<a> 元素时,它还会触发来自父元素的click事件<tr>.我不想要这种行为; 我只是想<a>点击click事件.
码:
// Event row TR
$("tr:not(:first)").click(function() {
$(".window, .backFundo, .close").remove();
var position = $(this).offset().top;
position = position < 0 ? 20 : position;
$("body").append( $("<div></div>").addClass("backFundo") );
$("body").append( $("<div></div>").addClass("window")
.html("<span class=close><img src=Images/close.png id=fechar /></span>")
.append( "<span class=titulo>O que deseja fazer?</span>"
+"<span class=crud><a href=# id=edit>Editar</a></span>"
+"<span class=crud><a href=# id=delete codigo="
+ $(this).children("td:first").html()
+ ">Excluir</a></span>" )
.css({top:"20px"})
.fadeIn("slow") );
$(document).scrollTop(0);
});
// <A> Element event
$("a").live("click",function() { alert("clicked!"); });
Run Code Online (Sandbox Code Playgroud)
每当您单击锚点时,它都会从其父行触发事件.有任何想法吗?