[英]DOM not fully loaded?
當使用jQuery文檔時,即$(document).ready(function() { }
是否有可能DOM尚未完全加載?
我使用一些第三方工具(Telerik的網格),並建立一個客戶端模板來顯示一個復選框來代替,就像這樣 。 碼:
.ClientTemplate("<input type='checkbox' name='checkedRecords' value='<#= OrderID #>' />")
我問的原因是我試圖將事件連接到所有復選框以監視change
:
$(':input').change(
function () {
alert('you fired!');
});
我在Telerik網格代碼之外手動設置了一個復選框,它連接到復選框更改,但telerik網格內的復選框都沒有...
在那種情況下 - 是否有解決方法?
嘗試使用直播,
$(':input').live('change', function() {
alert('you fired!');
});
編輯
.live()已從1.7版本中棄用,自版本1.9起被刪除:而是在()上實時使用
HTML頁面中靜態定義的DOM不可能在$(document).ready()
加載。 但是,如果您正在使用動態加載或創建HTML的第三方庫,則無法保證庫在$(document).ready()
時已經完成了它的業務。 事實上,它很可能沒有。
你有幾個選擇:
.live()
功能捕獲甚至在您指定要連接它們.live()
不存在的DOM對象的事件。 你可以在這里閱讀.live()
: http : //api.jquery.com/live/ 。 它主要像普通事件處理程序一樣工作,只是它只適用於某些事件,並且在如何停止傳播方面存在一些差異。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.