Questions tagged «event-propagation»

13
event.preventDefault()与返回false
Наэтотвопросестьответына 堆栈溢出нарусском:“preventDefault()方法” или “回归假”? 当我想阻止其他事件处理程序在触发某个事件后执行时,可以使用两种技术之一。我将在示例中使用jQuery,但这也适用于纯JS: 1。 event.preventDefault() $('a').click(function (e) { // custom handling here e.preventDefault(); }); 2。 return false $('a').click(function () { // custom handling here return false; }); 这两种停止事件传播的方法之间是否有显着差异? 对我来说,return false;它比执行方法更简单,更短并且更容易出错。使用该方法时,您必须记住正确的大小写,括号等。 另外,我必须在回调中定义第一个参数才能调用该方法。也许,出于某些原因,我应该避免这样做并preventDefault改为使用它?有什么更好的方法?

18
如何在单击子锚点时防止触发父母的onclick事件?
我目前正在使用jQuery使div可点击,在这个div中我也有锚点。我遇到的问题是,当我单击某个锚点时,两个单击事件都将触发(对于div和锚点)。如何在单击锚点时防止div的onclick事件触发? 这是损坏的代码: 的JavaScript var url = $("#clickable a").attr("href"); $("#clickable").click(function() { window.location = url; return true; }) 的HTML <div id="clickable"> <!-- Other content. --> <a href="http://foo.com">I don't want #clickable to handle this click event.</a> </div>

14
停止鼠标事件传播
停止鼠标事件在Angular 2中传播的最简单方法是什么?我应该传递特殊$event对象并给stopPropagation()自己打电话还是有其他方法。例如,在Meteor中,我可以简单地false从事件处理程序中返回。

7
单击时React阻止事件在嵌套组件中冒泡
这是一个基本组成部分。无论是<ul>和<li>拥有的onClick功能。我只希望<li>触发onClick 而不触发<ul>。我该如何实现? 我玩过e.preventDefault(),e.​​stopPropagation()都无济于事。 class List extends React.Component { constructor(props) { super(props); } handleClick() { // do something } render() { return ( <ul onClick={(e) => { console.log('parent'); this.handleClick(); }} > <li onClick={(e) => { console.log('child'); // prevent default? prevent propagation? this.handleClick(); }} > </li> </ul> ) } } // => …

8
取消后如何继续事件传播?
当用户单击某个链接时,我想向他们显示一个确认对话框。如果他们单击“是”,我想继续原始导航。一个陷阱:我的确认对话框是通过返回jQuery.Deferred对象实现的,只有当用户单击“是”按钮时,该对象才会解析。因此,基本上,确认对话框是异步的。 所以基本上我想要这样的东西: $('a.my-link').click(function(e) { e.preventDefault(); e.stopPropogation(); MyApp.confirm("Are you sure you want to navigate away?") .done(function() { //continue propogation of e }) }) 当然,我可以设置一个标志并重新触发单击,但这很麻烦。有任何自然的方法吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.