我只是用 mootools 创建一个点击事件,如下所示:
$$('body').addEvent('click:relay(div.smart-bg)', function(){
xxxxxxxxxxx
});
但是,这似乎不会在 iPad 上触发(而其他点击事件会触发)。这与它是添加的动态元素并且我正在使用:relay 的事实有关吗?
任何指针都非常感谢。
广告。
我只是用 mootools 创建一个点击事件,如下所示:
$$('body').addEvent('click:relay(div.smart-bg)', function(){
xxxxxxxxxxx
});
但是,这似乎不会在 iPad 上触发(而其他点击事件会触发)。这与它是添加的动态元素并且我正在使用:relay 的事实有关吗?
任何指针都非常感谢。
广告。
当我在div
.
来自 quirksmode 的这篇文章可能会有所帮助:
这种行为一定是有原因的。我不知道那个原因是什么,但目前我认为这是一个内存管理问题。显然,使页面上的所有元素都可点击需要太多资源,Apple 工程师决定禁用它。
和...
幸运的是,它很容易解决:您必须通过给它自己的 onclick 事件处理程序来使元素可点击。该处理程序可以为空;只要它存在,它就会使任何元素可点击。
也许在你的情况下......
$$('.smart-bg').each(function(el) {
el.onclick = function() {};
});
当然,鉴于它是一个委托事件,您必须确保在.smart-bg
您动态创建的每个元素上重新创建 onclick 处理程序。