问题标签 [event-capturing]
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.
javascript - 使用 javascript 冒泡/捕获检测中间节点
我需要使用事件委托在内部捕获带有图像的锚节点。
event.target始终是img。
如何检查单击是否是在具有类 .link 的节点上进行的?
更新:要清楚这里是jQuery 的一个例子
当我使用 jQuery.on() 时,回调函数中的属性中有a
节点,而不是节点。使用纯 JS,我只能确定初始目标。 this
img
javascript - 带有嵌套元素的根元素上的事件冒泡和捕获
我正在尝试从根元素中捕获每张卡上的 id。但是,每次单击嵌套元素时,都会得到空字符串。但是,我在收听根元素卡时想要包装卡中的 id。我想同时处理冒泡和捕获情况,因为这是更大结构的一部分。我只想要 vanilla js 和 Javascript 的答案,请不要使用 css。
reactjs - 反应“捕获”事件处理程序总是在本机非捕获处理程序之前触发吗?
在这个讨论线程中,Sophie Alpert谈到了 React 中的事件处理:
我们不保证 React 事件和原生事件之间的事件顺序。
但是,我很好奇假设 React “捕获”事件是否安全,例如onClickCapture
总是在任何本机非捕获事件之前触发。
例如,我可以假设单击 React 渲染的 divMyComponent
总是会在记录“单击窗口”之前记录“单击 div”吗?
c# - C# - 如何在不捕获 Shift 键的情况下捕获 Shift+Del 组合事件?
我有一个文本框和一个列表框。Shift必须清除列表框,Shift+Del组合必须清除文本框。
这是我的代码。
它显然是错误的,因为列表框在关闭时总是被清除Shift。我需要能够通过按Shift+来清除文本框,Del而不是当时清除列表框。
我必须只使用Shift和Del键,而不能使用其他键。
那我该怎么办?
javascript - OnDrop 事件目标是当放置在子级上时的子级,即使在使用捕获阶段时也是如此
我试图让我的拖放在 JavaScript 中正常工作,而无需显式扫描父元素或其他 ID、类循环和其他 hacky 魔法。
现在,当我拖动元素池中的一个元素并将其拖动到灰色区域时,该元素被复制到放置区域(到目前为止一切都正确)。我基本上是复制拖动元素的 HTML,清除放置区域(目标)并将新元素添加到其中。
当您在放置区域中已经有一些子元素并将其拖到子元素上时,问题就开始了。那么 drop 事件中的目标是子元素,而不是事件附加到的 div。这会导致拖动的元素清除并将其自身复制到子容器中,而不是放置容器中。
预期的结果应该是,无论您将其放在子容器上还是直接放在主放置容器上,目标都应该始终是父节点,因为我正在使用事件捕获模式。
这是我在 JS Fiddle 中的示例代码。我正在使用带有捕获的事件侦听器,但它似乎无论如何都在进行冒泡阶段并且忽略了捕获阶段。为什么?
这样做的正确方法是什么?
react-native - 在 react-native webview 中为触摸事件创建一个洞
我们正在尝试重复与此插件相同的事情:https ://github.com/mapsplugin/cordova-plugin-googlemaps/blob/master/README.md (此插件如何工作)但使用 react-native + 地图框 gl(本机)。
这个想法很简单:webview 和 mapview 是“兄弟姐妹”,webview 在 mapview 之上,webview 的一部分是透明的,mapview 显示在它下面。我们希望在这个透明区域中发生的任何触摸事件都不会被 webview 和气泡/mapview 捕获,这样您就可以触摸/拖动/缩放地图。
简单地说:我们希望webview 的一部分(不是全部)不捕获事件,而是允许底层视图捕获它们。
看起来反应原生中有一些方法允许这样做(有条件地控制事件捕获)(https://facebook.github.io/react-native/docs/view.html#onstartshouldsetrespondercapture)但我们找不到任何测试它的工作示例,我们无法完全理解所提供的文档(我们甚至无法理解是否应该为父视图或子视图指定此回调)。
所以基本上我们只需要一些 react-native 的工具来有条件地捕获触摸事件。
任何人都可以帮助我们吗?map/webview 的例子可能太复杂了,在两个视图中对事件的任何条件捕获应该会有很大帮助。
javascript - 当事件附加到文档时,获取 elem 的 id
需要注意的点:
- 整个文件是
content editable
- 身体有一个
input event
附着在它上面 - 我需要获取已更改的特定元素的 id
- 只允许使用原生 Javascript
例如:如果我换成Tom
Paul,我应该得到m1
id。
问题:e.target
返回正文元素而不是特定元素(div#m1
)
android - 第一个按钮按下没有被听众捕捉到
第一次按下“编辑信息”按钮时没有任何反应,但随后它工作正常。有很多类似的问题,我已经通过并尝试了我所能做的一切,但没有成功。
(*) 从这个问题Matěj Hrazdíra 建议添加 OnTouchListner 但这样做会使按钮永远不会切换回来。
这是activity_main.xml
jquery - 在日期更改时触发文本框气泡事件
我有一张桌子。单击最后一行元素时,我正在为表格生成新行。我将 Onclick 函数绑定到td
.
现在我在 td 中有 datetimepicker。我通过单击日期选择器并保存相同的日期来解决绑定日期问题,因为它触发了 td onclick 功能。
我想要的是先绑定日期,然后通过输入的 onchange 函数保存日期,然后创建行。
任何帮助表示赞赏。
更新 这是我的生成行函数:
现在,问题是它只涉及生成行功能,但没有实现逻辑。我猜它没有捕捉到它。你会帮忙吗?
我想要的是从日期选择器中选择日期,同时也生成行。