看板 C_Sharp 關於我們 聯絡資訊
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下面增加的內容,該如何處理? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.240.212.73 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1447103104.A.FAC.html
Peruheru: 我只知道原因是事件來不及掛載 11/10 17:23
unstoppable: 掛載事件是在document_completed裡面處理的,不曉得P 11/11 01:38
unstoppable: 大說的是哪個部分,感恩 11/11 01:39
Peruheru: 我對於後端程式掛載的JS事件不熟,但他掛載是在網頁產生 11/11 09:17
Peruheru: 的時候掛載的吧?在document_completed的時候,你的外部 11/11 09:17
Peruheru: js檔"還沒有"執行,也就是掛載的對象還沒產生所以掛不到 11/11 09:18
Peruheru: 我不知道如果要用你現在的做法改進要怎麼做,我只會直接 11/11 09:19
Peruheru: 寫在JS內,在產生後才進行掛載事件 11/11 09:20
Peruheru: 我上面說的除非是對於"document_completed"理解有誤 11/11 09:22
Peruheru: 不然他應該是跟jquery的$(document).ready();一樣吧? 11/11 09:22
Peruheru: 所謂網頁載入完成,並"不包括"你用JS動態載入的元素 11/11 09:23
Peruheru: 既然產生是用JS動態載入,那麼綁事件也應該寫在同一處 11/11 09:25
unstoppable: 感謝P大回答,掛載的對象已經在document_completed產 11/11 20:04
unstoppable: 生,JS在掛載的HE下增加child element,如果掛不上應 11/11 20:05
unstoppable: 該會拋出錯誤,就是HE為null 11/11 20:06
unstoppable: 翻了msdn,innerText或是innerHTML改變不會觸發 11/11 20:12
unstoppable: onproprtychange事件,請問有人知道該使用什麼方式嗎? 11/11 20:14