借助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/