[問題] htmlelement無法觸發onpropertychange

作者: unstoppable (BEN)   2015-11-10 05:05:01
Htmlelement HE = webbrowser.document.getelementbyid("header");
HE.AttachEventHandler("onpropertychange", events_onpropertychange);
private void events_onpropertychange(object sender, EventArgs e)
{
MessageBox.Show("hi");
}
網頁是透過加載外部js檔案,使用javascript去增加HE下面的element
像是這樣:
__html.push(" <div class=\"loginFormWrap notlogged\">");
HE我使用onclick事件可以觸發,但是onpropertychange就不行
是HE的child增加不會觸發嗎?
如果要取得HE下面增加的內容,該如何處理?
感謝
作者: Peruheru (還在想)   2015-11-10 17:23:00
我只知道原因是事件來不及掛載
作者: unstoppable (BEN)   2015-11-11 01:38:00
掛載事件是在document_completed裡面處理的,不曉得P大說的是哪個部分,感恩
作者: Peruheru (還在想)   2015-11-11 09:17:00
我對於後端程式掛載的JS事件不熟,但他掛載是在網頁產生的時候掛載的吧?在document_completed的時候,你的外部js檔"還沒有"執行,也就是掛載的對象還沒產生所以掛不到我不知道如果要用你現在的做法改進要怎麼做,我只會直接寫在JS內,在產生後才進行掛載事件我上面說的除非是對於"document_completed"理解有誤不然他應該是跟jquery的$(document).ready();一樣吧?所謂網頁載入完成,並"不包括"你用JS動態載入的元素既然產生是用JS動態載入,那麼綁事件也應該寫在同一處
作者: unstoppable (BEN)   2015-11-11 20:04:00
感謝P大回答,掛載的對象已經在document_completed產生,JS在掛載的HE下增加child element,如果掛不上應該會拋出錯誤,就是HE為null翻了msdn,innerText或是innerHTML改變不會觸發onproprtychange事件,請問有人知道該使用什麼方式嗎?

Links booklink

Contact Us: admin [ a t ] ucptt.com