我有一个自定义的网页仪表板,它主要依赖于jQuery,jQuery UI和jquery-ui-touch-punch。除了在iPad上动态内容(js添加元素)上的点击事件外,一切都有效。
所以无处不在
$('.foo').click( function() {
//whatever
});
但有关动态内容的事件无法在iPad上运行,例如
$('body').on('click', '.foo', function() {
//whatever
});
仪表板实时监控内容,因此动态元素上的事件是必须的。 有关如何修复的任何想法?
答案 0 :(得分:0)
根据您的jQuery版本,您可能需要delegate
。此外,在文档级别定位,并反转选择器/事件顺序,如下所示:
$(document).delegate('.foo', 'click', function() {
//whatever
});
on
可能仍然有用,在这种情况下,您的选择器/事件顺序是正确的,只需在文档级别定位它。
答案 1 :(得分:0)
我根据@ elzi的回答尝试了delegate(),但它没有用。在jquery文档中看到与on()和delegate()相同的bind(),试过它并且它可以工作!!
$( ".foo" ).bind( "click", function() {
//whatever
});