单击
可能的重复:
如何在点击子项时忽略点击事件。
我想知道如何构建可在其中使用 jQuery 单击的
,我有
我不希望它执行与单击 li 其余部分相同的操作...示例:
<li>
<div> bla bla </div>
<div> <a href="/home"> </a> </div>
</li>
和 jQuery 代码:
$(document).ready(function () {
$('li').hide();
$("li").toggle(
function () {
$(this).next().show("slow");
},
function () {
$(this).next().hide();
}
);
});
现在我希望切换功能不适用于 仅在
的其余部分上,我解释一下,当我单击链接时,我想要访问“/home”...
谢谢, 戈兰高地
Possible Duplicate:
How to ignore click event when clicked on children.
I wanted to know how can i build <li>
that is clickable with jQuery while inside it, I have <a href="/home">
that i don't want it to do the same as the click on the rest of the li do...
Example :
<li>
<div> bla bla </div>
<div> <a href="/home"> </a> </div>
</li>
and the jQuery code :
$(document).ready(function () {
$('li').hide();
$("li").toggle(
function () {
$(this).next().show("slow");
},
function () {
$(this).next().hide();
}
);
});
Now i want the toggle function not to work on the <a href>
only on the rest of the <li>
, I explain, when I click on the link I want to reach "/home"...
Thanks,
Golan
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题来自于这样的事实:单击事件发生在 a 标记上,然后冒泡发生在列表项以及恰好位于 DOM 的该分支中的任何其他元素上。
解决方案是在链接的点击事件中停止这种冒泡。像下面这样的东西应该有效。
您可以在上述事件中返回 false,但这也会阻止浏览器跟踪该链接。
The problem comes from the fact the click event happens on the a tag then bubbles up to happen on the list item, and any other elements that happen to be in that branch of the DOM.
The solution is to stop this bubbling in the click event on the link. Something like the following should work.
You could just return false in the event above, but that would also stop the browser following the link.