0

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

HTML:

<div id="content">
    My dynamic content will be here.
</div>

JS:

$(function(){
    loadContent();
    $('#content').css('height',400);


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

这在桌面上运行良好,在 Android 上的内容很短。

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

你有什么线索吗?

// 编辑

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

// 编辑

我终于设法找出产生冲突的原因。这是由于加载内容后 div 的 css 更新。如果我使用 Weinre 人为地删除了 height 样式属性,那么链接又可以点击了!

4

2 回答 2

0

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

$(function(){
    loadContent();

    $('#content').on('click', 'a', function(e) {
        alert('something');    
    });
});
于 2013-10-03T10:42:20.373 回答
0

首先,将您的文档就绪功能修复为 wraploadContenton.

其次,如果您在页面加载后加载内容。你应该将事件绑定到body这样的

$(function(){

    loadContent();

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

});
于 2013-10-03T10:49:41.917 回答