2012-02-25 66 views
0

我正在尝试为动态生成的DOM元素更改移动网页上的某些类。 我通常的方法,jquery on()没有正确地选择事件。用于移动Safari的JQuery:on()失败

也不对"delegate()",我的备份工作。

我使用jQuery版本“http://code.jquery.com/jquery-1.7.min.js”

+1

您使用jQuery Mobile的? – DG3 2012-02-25 00:59:51

+0

解决的办法是在div元素上添加onclick =''。不知道为什么这有效,但它确实。 – cyrusv 2012-02-27 15:02:06

回答

2

附着事件将溶液的onclick '添加=' 到div元件。不知道为什么这有效,但它确实。 -

0

而不是使用上,你就不能写事件,因为它是?

如:

$(document).ready(function() { }); 
$(document).click(function() { }); 
$(document).keyup(function() { }); 
$(document).keydown(function() { }); 

记得有一次在DOM加载事件添加到对象。如果您尝试在DOM之外使用jQuery选择器,请检查它是否可以在实际元素加载之前执行,然后找不到任何内容。这将不会导致任何事件发生。

+0

我认为问题在于,如果您动态地使用不同的jQuery生成元素,那么DOM不会被加载,这就是人们在(),live()和delegate()上使用的原因。 – cyrusv 2012-02-27 14:56:15

+0

谢谢,我想我们都每天都会学到新的东西:) Glade你找到了解决方案。 – danniehansenweb 2012-03-12 11:28:06

0

尝试Live事件作为

$(".element").live("click",function(){ 
    alert("Clicked"); 
}); 

就动态生成的DOM元素

+0

这适用于我的台式机上的Chrome浏览器,我的Android浏览器,但不适用于iOS设备上的Safari浏览器。 – cyrusv 2012-02-27 14:55:11

0

你需要确保你正在使用jQuery 1.7.1使用jQuery移动1.1.0决赛。使用jQuery 1.7.1版本非常重要,而不是现在最新版本的1.7.2。

一切就绪的使用上()提供了更好的体验。事实上,几乎所有的东西都被弃用了。

我天马行空一点关于这个在博客张贴在几个星期前。

http://zsprawl.com/iOS/2012/04/using-new-jquery-1-7-on-off-functions/