我已基于(pluginA)
构建了一个插件zeptojs
,在此插件中我使用ajax获取数据并附加<a href=""></a>
如何将事件绑定到这些锚点?我正在寻找像<a href="..." data-key="ABC123"></a>
这样的全球性内容,然后使用$('[data-key]').pluginB()
然后在pluginB()
内部使用类似
$(this).on('click', function (e) { e.preventDefault(); ... });
但我无法将click事件绑定到动态创建的锚点。
我在调用$('a').on('click', ...)
之前尝试添加pluginA()
,但它没有触发。
我真正希望使用bind()
trigger()
方法来解耦这两个插件,但我找不到一个好的例子。
答案 0 :(得分:0)
使用on
的委派表单绑定特定区域中的所有所需链接(在此示例中为整个正文):
$(body).on('click', 'a[data-key]', function(e) {e.preventDefault();...});
现在,所有与data-key
的链接都会触发您的功能,无论您在致电on
时是否在场。随后添加的链接将自动获取行为,并且删除的链接不会通过持有悬空处理程序引用来泄漏内存。