2009-09-21 60 views
2

當我通過WebBrowser加載頁面,然後單擊一個激發AJAX腳本的鏈接時,我需要檢測AJAX java腳本何時完成將HTML更改加載到div中。由於在運行AJAX腳本時不會觸發DocumentCompleted事件,因此我不知道它何時完成運行。在我知道100%的JavaScript完成更改div後,有沒有一種方法可以附加一個要提出的事件?
該項目是在C#中。
謝謝AJAX在WebBrowser中的DIV中更改HTML時檢測

+0

AttachEventHandler命令如何?它可以用來解決這個問題嗎? – Pascal 2009-09-21 13:24:24

回答

0

沒有事件。您必須修補瀏覽器在回覆AJAX請求時運行的JavaScript回調。這將包含類似「div.innerHTML = ...」的代碼。只要把你的代碼放在下面。

+0

我無法控制已加載的腳本,因爲它是第三方頁面。 – Pascal 2009-09-21 13:25:12

1

我做了類似的事情最近(使用jQuery):

$('#mydiv').change(function(){ 
     // do stuff 
    } 
); 

當然,我也使用jQuery來設置div的HTML。我想你可以通過你自己的函數來設置一個非jQuery方法,而這又可以觸發一個onchange事件。

@新鎮:從我的經驗來看,這是不正確的。我在多個DIV上使用它,這些DIV始終沒有得到重點關注,並且效果良好且一致。正常行爲與您所描述的一樣,通常只適用於INPUT和SELECT元素,但jQuery並非如此。

+0

恐怕只有當元素失去輸入焦點時纔會觸發「更改」事件(如果值已更改)。 – 2009-09-21 13:25:08

+0

我可以在.Net中做到這一點嗎? – Pascal 2009-09-21 13:25:45

+0

你可以在.Net中使用jQuery。 Stackoverflow本身大量使用jQuery。 – acrosman 2009-09-21 13:48:46