我正在尝试将交互绑定到动态加载的链接:
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样式属性,那么这些链接就可以再次点击了!
发布于 2013-10-03 10:42:20
我根本看不出这是如何在桌面上工作的,因为on()
调用应该在DOM ready处理程序中,并且事件名称应该在过滤元素之前,如下所示:
$(function(){
loadContent();
$('#content').on('click', 'a', function(e) {
alert('something');
});
});
发布于 2013-10-03 10:49:42
首先,修复文档就绪函数以包装loadContent
和on
。
其次,如果您在页面加载之后加载内容。您应该像这样将事件绑定到body
$(function(){
loadContent();
$('body').on('click', '#content a', function(){
alert('Hello world!');
});
});
https://stackoverflow.com/questions/19157013
复制相似问题