2

我只是用 mootools 创建一个点击事件,如下所示:

$$('body').addEvent('click:relay(div.smart-bg)', function(){

xxxxxxxxxxx

});

但是,这似乎不会在 iPad 上触发(而其他点击事件会触发)。这与它是添加的动态元素并且我正在使用:relay 的事实有关吗?

任何指针都非常感谢。

广告。

4

1 回答 1

2

当我在div.

来自 quirksmode 的这篇文章可能会有所帮助:

这种行为一定是有原因的。我不知道那个原因是什么,但目前我认为这是一个内存管理问题。显然,使页面上的所有元素都可点击需要太多资源,Apple 工程师决定禁用它。

和...

幸运的是,它很容易解决:您必须通过给它自己的 onclick 事件处理程序来使元素可点击。该处理程序可以为空;只要它存在,它就会使任何元素可点击。

也许在你的情况下......

$$('.smart-bg').each(function(el) {
    el.onclick = function() {};
});

当然,鉴于它是一个委托事件,您必须确保在.smart-bg您动态创建的每个元素上重新创建 onclick 处理程序。

于 2012-08-31T17:20:56.633 回答