2012-02-25 35 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/