这就是我的 HTML 代码的样子,在真实的代码中有几个这样的 block 。当您单击此 DIV 中的某个位置时,togleDescription(this) 会被调用。我的问题是,我不希望当您单击其中一个 anchor (a) 时发生任何事情,那么是否可以在 Javascript 中定义某些 DIV,使其不会发生任何事情?
<div class="dokumente_table">
<div class="dokumente_group onclick="toggleDescription(this)">
<img class="dokumente_triangle" src="/_files/img/triangle_13.png">
<div class="button_group">
<a class="button">Content...</a>
<a class="button">Content...</a>
</div>
<div class="dokumente_download_frame">
<a class="dokumente_download">Content...></a>
</div>
<div class="dokumente_row">
Content...
</div>
<div class="dokumente_row">
Content...
<div class="dokumente_extra_row">
Content...
</div>
</div>
</div>
这就是被调用的 Javascript。
function toggleDescription(that) {
if($(that).find('.dokumente_extra_row').is(':visible')) {
$(that).find('.dokumente_extra_row').slideUp(500);
$(that).find('.dokumente_triangle').rotate({
duration: 1000,
angle: 90,
animateTo: 0
});
}
else {
$(that).find('.dokumente_extra_row').slideDown(500);
$(that).find('.dokumente_triangle').rotate({
duration: 1000,
angle: 0,
animateTo: 90
});
}
}
最佳答案
如果您不希望在单击特定 anchor 时执行 toggleDescription
,您可以使用事件对象的 stopPropagation()
方法来阻止单击的传播特定 anchor 的点击事件。
例如,如果您想跳过以下 anchor 的执行
<a class="dokumente_download">Content...></a>
你可以做到
$(".dokumente_download").click(function(e){
e.stopPropagation();
});
关于javascript - 如何在类上但仅在某些元素上使用 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25660215/