0

我有一个严重依赖 jQuery、jQuery UI 和 jquery-ui-touch-punch 的自定义 Web 仪表板。除了 iPad 上动态内容(js 添加的元素)上的点击事件外,一切正常。

所以这在任何地方都有效

$('.foo').click( function() {
    //whatever
});

但是动态内容上的事件在 iPad 上不起作用,就像这样

$('body').on('click', '.foo', function() {
    //whatever
});

仪表板实时监控内容,因此动态元素上的事件是必须的。关于如何解决的任何想法?

4

2 回答 2

0

根据您的 jQuery 版本,您可能需要delegate. 此外,以文档级别为目标,并反转选择器/事件顺序,如下所示:

$(document).delegate('.foo', 'click', function() {
    //whatever
});

on可能仍然有效,在这种情况下,您的选择器/事件顺序是正确的,只需将其定位在文档级别即可。

于 2014-11-25T21:23:34.117 回答
0

我按照@elzi的回答尝试了delegate(),但是没有用。在 jquery 文档中看到 bind() 与 on() 和 delegate() 一样,尝试过它并且它有效!

$( ".foo" ).bind( "click", function() {
    //whatever
});
于 2014-11-25T22:50:57.270 回答