借助webcomponents,您可以使用/deep/定位阴影领域的内部元素,在我尝试利用事件委托之前,该方法工作正常。

常规点击功能将起作用:

$('html /deep/ a').on('click', function(e) {
  e.preventDefault()
  console.log('foo')
})


委派似乎没有任何效果:

$('html').on('click', '/deep/ a', function(e) {
  e.preventDefault()
  console.log('bar')
})


知道在这里做什么吗?

最佳答案

Shadow DOM重新定位事件,因此它们似乎来自主机元素。这是为了保留封装模型(否则,您可以抓住目标并在组件内部乱扔)。

http://www.html5rocks.com/en/tutorials/webcomponents/shadowdom-301/#toc-events

也许您可以尝试委托给host元素,然后使用event.path找出是否单击了a

关于javascript - jQuery/deep/委托(delegate),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27693538/

10-09 15:38