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