我有一些元素,大致是这样的:
<div>
<a>
<div>
当用户单击 div 上的任意位置时,我希望a
单击该元素 - 出于可用性目的。
简单吧?所以我写了这个:
$('div.class').click(function(){
$('a.class', this).click();
console.log('clicked');
});
麻烦的是,这可以点击a
元素,但是事件传播到点击它的div
点击它,点击它,a
它......你可以看到它的去向。
我在这里在 JSfiddle 上制作了一个示例,
但它没有显示控制台日志。因此,如果您单击,Firebug 不会显示任何内容。但是我的本地站点使 Firebug 对日志(单击)如此之多以至于最终脚本被杀死说too much recursion on this page
如何停止这种递归?
是的,我知道,我知道我可以window.location
用于此目的,但是单击链接会做一些额外的工作,并且还会使用浏览器的窗口历史记录,所以我真的很想单击那个恶毒a
而不让它单击它的爸爸。或者妈妈。或者不管那div
是什么。
请阅读
由于每个人都在一遍又一遍地建议同样的事情,但它不起作用,请看看这个JSfiddle。在回答之前尝试一下,看看它是否有效。当您点击 时div
,Google 应该会加载。这就是我要找的。