jQuery.on()无法在Android和css()上处理长动态内容

jQuery.on()无法在Android和css()上处理长动态内容,android,jquery,event-delegation,Android,Jquery,Event Delegation,我正在尝试将交互绑定到动态加载的链接: HTML: 这在桌面上运行得很好,在Android上的内容也很短 但它无法在Android上处理更长的内容(Eclipse上没有JS错误)。然而,除了工作页面和非工作页面之间的内容长度,我还没有发现任何其他差异。因此,我试图人为地限制内容的长度,然后它就可以正常工作了 你对正在发生的事情有什么线索吗 //编辑 我更新了代码,因为我在键入此问题时犯了一些基本错误。这个版本更好地反映了核心问题 //编辑 我终于设法找出了引起冲突的原因。这是因为加载内容后对di

我正在尝试将交互绑定到动态加载的链接:

HTML:

这在桌面上运行得很好,在Android上的内容也很短

但它无法在Android上处理更长的内容(Eclipse上没有JS错误)。然而,除了工作页面和非工作页面之间的内容长度,我还没有发现任何其他差异。因此,我试图人为地限制内容的长度,然后它就可以正常工作了

你对正在发生的事情有什么线索吗

//编辑

我更新了代码,因为我在键入此问题时犯了一些基本错误。这个版本更好地反映了核心问题

//编辑


我终于设法找出了引起冲突的原因。这是因为加载内容后对div进行了css更新。如果我使用Weinre人为删除高度样式属性,则链接可以再次单击

我根本看不出这在桌面上是如何工作的,因为
on()
调用应该在DOM就绪处理程序中,并且事件名称应该位于筛选元素之前,如下所示:

$(function(){
    loadContent();

    $('#content').on('click', 'a', function(e) {
        alert('something');    
    });
});

首先,修复文档准备功能,将
loadContent
包装在

第二,如果在加载页面后加载内容。您应该像这样将事件绑定到
主体

$(function(){

    loadContent();

    $('body').on('click', '#content a', function(){
        alert('Hello world!');
    });

});

您不需要这样做,而是将click事件处理程序分配代码放在document.ready块的
loadContent()之后。这些是我在问题中修正的拼写错误。顺便说一句,我还尝试在内容加载后使用延迟对象绑定单击操作。但它也不起作用。
$(function(){
    loadContent();

    $('#content').on('click', 'a', function(e) {
        alert('something');    
    });
});
$(function(){

    loadContent();

    $('body').on('click', '#content a', function(){
        alert('Hello world!');
    });

});