2013-10-03 36 views
0

我想結合互動,動態加載鏈接:jQuery的。對()不與Android和CSS()長的動態內容工作

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人爲刪除高度風格屬性,那麼鏈接可以再次點擊!

+0

你不應該需要,但把click事件處理程序分配代碼的document.ready塊內,loadContent()' – Archer

回答

0

我不能看到這是如何工作的桌面上,因爲在所有的on()調用應該是DOM準備好處理程序中,事件名稱應該來過濾元件之前,像這樣:

$(function(){ 
    loadContent(); 

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

感謝後'。那些是我在問題中所固定的拼寫錯誤。但它不能更好地工作。 – Yako

+0

順便說一下,我還嘗試使用延遲對象在內容加載後綁定點擊操作。但它也沒有效果。 – Yako

0

首先,修復文檔就緒功能以包裝loadContenton

二,如果您加載頁面後加載內容。你應該綁定事件到body這樣

$(function(){ 

    loadContent(); 

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

});