【发布时间】:2019-09-06 07:52:33
【问题描述】:
我的网站上安装了一个 Angular Web 组件。它使用 Shadow DOM,因此速度非常快(在我的情况下必须如此)。
在我的网站上,我还有一个关于 h 的快捷方式,它会打开一个弹出窗口,其中显示一些有用的信息。这个 h 键绑定必须保持原样。它是如何实现的示例代码可以在这里看到:https://jsfiddle.net/js1edv37/
这是一个简单的事件监听器,监听document:
$(document).on("keyup", function(e) {
}
但是,当我的 Web 组件聚焦 textarea 或 input 元素时,这也会触发。发生这种情况是因为它使用了 Shadow DOM,而外部脚本无法访问。
您可以通过在input 和textarea 元素内外按键盘上的h 来测试它。
有没有办法让 Shadow DOM Web 组件外部的脚本仍然监听 keyup 事件,但让它监听页面上的 所有 元素?甚至是 Shadow DOM 中的那些。
【问题讨论】:
标签: javascript jquery shadow-dom