问题标签 [event-propagation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5247 浏览

keyboard-shortcuts - 在 Vaadin 中使用快捷方式的问题

表中的快捷方式存在一些问题。我必须自定义一些键:删除 - 用于删除行并输入以使表格可编辑/不可编辑,向上/向下箭头可将表格模式从可编辑切换为不可编辑。我将我的表放在透明面板中并使用 Action.Handler 来捕获键盘事件。但是,当我在 TextField、TextArea、Combobox 中写入时,我想将事件传播到该组件(处理删除键禁用使用它来删除 TextField 中的文本,并且向上/向下键不允许使用键盘打开 Combobox)。我在 handleAction() 方法中看到了目标参数,但我现在不知道如何使用它。知道如何添加快捷方式而不是替换也很有趣。

任何想法如何做到这一点?

0 投票
2 回答
7348 浏览

jquery - 您如何阻止孩子传播由实时/委托侦听器触发的事件?

我有一个委托父母,他们在一组具有特定班级的孩子中侦听点击事件。

所以这是一个html的例子

问题是子级a.toggle将事件传播给触发处理程序的父级,而不应该触发处理程序。根据 jQuery 文档,您无法停止实时/委托事件侦听器上的事件传播。

如何阻止 a.toggle 的这些子子级将事件传播给父级?或者在某些情况下允许它?

您会看到内部 div.toggle应该是一个下拉菜单。当您单击菜单时它不应该切换,只有当您单击切换链接时...

0 投票
1 回答
1295 浏览

javascript - 阻止默认操作,但不要停止事件传播

我需要代码才能在 IE6+ 上工作,只是想检查一下我没有错过对任何浏览器的支持。

此代码有效,我已经在 IE7、Firefox 10、Google Chrome 17 上进行了测试,但我没有其他浏览器可以测试。我想知道是否有其他人这样做并知道代码是什么,我是否错过了对我的代码对任何浏览器的支持:

0 投票
1 回答
72 浏览

javascript - Jquery - 修复切换元素内的超链接

我对我拥有的一些 Jquery 脚本有疑问,我希望有人能指出我正确的方向。

我有一个最初隐藏的区域,但在单击它时会显示它的内容,再次单击它会隐藏它的内容。该区域内有一系列超链接。我面临的问题是,当这些链接被点击时,容器不会重定向到其他地方,而是再次关闭。我可以看到为什么会发生这种情况,但我不确定如何解决它。

功能:-

召唤:-

html:-

我确实尝试将“呼叫”包装在针对 H2 的单击操作中,但这对容器自行打开和关闭产生了奇怪的影响,所以我不确定该怎么做。

0 投票
3 回答
2638 浏览

jquery - 停止事件冒泡 - 提高性能?

如果我没有false从事件回调中返回,或者没有使用e.stopPropagationjQuery 的功能,则事件会在 DOM 中冒泡。

在大多数情况下,我不在乎事件是否冒泡。就像这个 DOM 结构示例一样:

通常,我没有像这样的多个嵌套提交回调:

Fiddle
That DEMO 将submit事件气泡显示为<div>!
如果我停止传播或只是阻止默认,对我来说没有区别。

在这些情况下,如果我停止传播,我会获得性能优势吗?

0 投票
2 回答
5657 浏览

jquery - 为什么在为 html 锚元素触发我的 jquery click 事件之前会发生重定向?

我试图仅在用户关闭选项卡或浏览器窗口时触发 OnBeforePageUnload。当用户在我的网站上导航时,我有一个自定义机制会触发一个警告对话框,以防止用户丢失输入的数据。所以每次点击我页面上的链接时,我都会设置 a 标志:

然后,触发 onbeforepageunload 事件。我检查标志的值,看看是否应该显示内置的 onbeforeunload 对话框:

这适用于页面上的所有链接,但以下链接除外:

这些 html 是由自定义 Web 控件创建的。当我点击链接时,我被重定向到 otherPage 而没有触发点击事件。所以我无法设置标志并显示内置的 onbeforeunload 消息。

当我添加内联时,直接在控件中添加 onclick 属性,如下所示:

一切正常。但这不是我想要解决这个问题的方式。

有人可以向我解释我在这里犯了什么错误吗?

我一直在寻找并尝试很多代码,但没有成功。

我发现这篇文章在加载 jQuery 之前阻止链接, 但我不知道这是否与我的问题有关,因为我只有一个链接。

提前感谢您的帮助。

0 投票
2 回答
388 浏览

javascript - Javascript (jQuery) 事件失败。我怎样才能解决这个问题?

这个 (jQuery) 函数在jQuery(document).ready和上调用jQuery(document).resize。它在条件下运行良好,ready但在resize事件上有点麻烦。它们要么继承功能,要么在每次调整大小时似乎都会触发 slideToggle 的情况。

我究竟做错了什么?我试图终止事件传播,但无济于事。

编辑:

这在以下运行:

0 投票
4 回答
2892 浏览

jquery - stopPropagation() “防止事件冒泡 DOM 树”:这是什么意思?

我真的不明白 e.stopPropagation() 做什么。

如果我有一个指向处理程序的链接return false,我应该得到我想要的(防止默认链接行为,所以它不会“调用”下一个 href 位置):

添加e.stopPropagation()我能得到什么?你能给我一个可靠的例子,向我展示e.stopPropagation()可以做什么吗?

0 投票
1 回答
802 浏览

javascript - 在 Google Maps API v3 中有效地启用事件传播

正如现有问题中所涵盖的那样,我有一段代码(很好而且很简单)使 div 像这样使用光标的当前位置更新。

在光标移到覆盖层上之前,它工作得很好。叠加层会消耗事件,因此我在地图上定义的事件侦听器永远不会触发。

问题:

  1. 我必须在我创建的每个叠加层上重新定义那个监听器还是有更简单的方法?

  2. 如果我必须在每个叠加层上定义侦听器,我大概可以拥有多少个叠加层而不会影响性能?

叠加层是交互式的,因此clickable不能设置为 false。

0 投票
4 回答
183 浏览

javascript - 为什么我不能使用 jQuery 在单击时隐藏元素?

我想让一个 div 用 jquery 和 css 显示和消失。代码不起作用:

HTML

jQuery

演示:http: //jsfiddle.net/jTgRF/41/