次のように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 ハンドラーを必ず再作成する必要があります。