這是 UI 元素構造的示例,
HTML
<div class='wrap'>
<a class='inner-link' href="#">Link</a>
</div>
CSS
.wrap
{
background:#CDD4E0;
width:300px;
height:100px;
padding:20px;
}
.wrap:hover
{
background:#868B93;
}
jQuery
$('.wrap').click(function () {
alert("Handler for wrap container click.");
});
$('.inner-link').click(function () {
alert("Handler for inner link click");
});
我想要做的是.wrap在我點擊里面的鏈接時防止帶有類點擊事件的容器。
您可以參考這個小提琴示例。
當$('.wrap').click我為$('.inner-link').click.
uj5u.com熱心網友回復:
添加if以檢查目標是否不包含 class inner-link。
更新:哦,評論有更好的方法來解決它。
$(".wrap").click(function (e) {
if (e.target.className !== "inner-link") { // add this
alert("Handler for wrap container click.");
}
});
$(".inner-link").click(function (e) {
e.stopPropagation(); // or add this
alert("Handler for inner link click");
});
uj5u.com熱心網友回復:
嘗試使用event.stopPropagation
您的 jQuery 代碼應修改如下:
$('.wrap').click(function () {
alert("Handler for wrap container click.");
});
$('.inner-link').click(function (event) {
event.stopPropogation();
alert("Handler for inner link click");
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/497891.html
標籤:javascript jQuery
