我们试图从我们用AngularJS编写的一个项目中删除jQuery作为依赖项,但是在替换这种结构时我们遇到了麻烦:
angular.element(ancestorSelector).on(eventType, descendantSelector, function() {
...
});
参考:http://api.jquery.com/on/#direct-and-delegated-events
主要问题是jqLite实现了.on()
的简化版本,它不支持这种行为。此外,我们在此场景中定位的一些元素超出了应用程序范围,因此我们无法在链接时绑定事件。
在AngularJS或普通JS中复制此功能的最佳方法是什么?
我们当前的方法是将事件绑定到祖先,然后检查事件目标是否与后代选择器匹配。我们假设这不是解决这个问题的最佳方案,但我们无法找到更聪明的方法。