0

我已经(pluginA)基于这个插件构建了一个插件,zeptojs并且在这个插件内部我使用 ajax 获取数据并附加一个列表<a href=""></a>

如何将事件绑定到这些锚点?我打算在全球范围内使用类似的东西<a href="..." data-key="ABC123"></a>,然后使用$('[data-key]').pluginB(),然后在里面pluginB()有类似的东西

$(this).on('click', function (e) { e.preventDefault(); ... });但我无法将点击事件绑定到动态创建的锚点。

$('a').on('click', ...)我在打电话之前尝试添加,pluginA()但它没有触发。

我真正想要的是使用这种bind() trigger()方法来解耦这两个插件,但是我很难找到一个好的例子。

4

1 回答 1

0

使用委托形式on绑定特定区域中的所有所需链接(在本例中为整个正文):

$(body).on('click', 'a[data-key]', function(e) {e.preventDefault();...});

现在所有链接data-key都将触发您的功能,无论它们在您调用时是否存在on;随后添加的链接将自动获得该行为,并且删除的链接不会因持有悬空的处理程序引用而泄漏内存。

于 2013-07-03T00:46:02.647 回答