[問題] htmlelement無法觸發onpropertychange

看板C_Sharp作者 (BEN)時間8年前 (2015/11/10 05:05), 編輯推噓2(2015)
留言17則, 2人參與, 最新討論串1/1
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

11/10 17:23, , 1F
我只知道原因是事件來不及掛載
11/10 17:23, 1F

11/11 01:38, , 2F
掛載事件是在document_completed裡面處理的,不曉得P
11/11 01:38, 2F

11/11 01:39, , 3F
大說的是哪個部分,感恩
11/11 01:39, 3F

11/11 09:17, , 4F
我對於後端程式掛載的JS事件不熟,但他掛載是在網頁產生
11/11 09:17, 4F

11/11 09:17, , 5F
的時候掛載的吧?在document_completed的時候,你的外部
11/11 09:17, 5F

11/11 09:18, , 6F
js檔"還沒有"執行,也就是掛載的對象還沒產生所以掛不到
11/11 09:18, 6F

11/11 09:19, , 7F
我不知道如果要用你現在的做法改進要怎麼做,我只會直接
11/11 09:19, 7F

11/11 09:20, , 8F
寫在JS內,在產生後才進行掛載事件
11/11 09:20, 8F

11/11 09:22, , 9F
我上面說的除非是對於"document_completed"理解有誤
11/11 09:22, 9F

11/11 09:22, , 10F
不然他應該是跟jquery的$(document).ready();一樣吧?
11/11 09:22, 10F

11/11 09:23, , 11F
所謂網頁載入完成,並"不包括"你用JS動態載入的元素
11/11 09:23, 11F

11/11 09:25, , 12F
既然產生是用JS動態載入,那麼綁事件也應該寫在同一處
11/11 09:25, 12F

11/11 20:04, , 13F
感謝P大回答,掛載的對象已經在document_completed產
11/11 20:04, 13F

11/11 20:05, , 14F
生,JS在掛載的HE下增加child element,如果掛不上應
11/11 20:05, 14F

11/11 20:06, , 15F
該會拋出錯誤,就是HE為null
11/11 20:06, 15F

11/11 20:12, , 16F
翻了msdn,innerText或是innerHTML改變不會觸發
11/11 20:12, 16F

11/11 20:14, , 17F
onproprtychange事件,請問有人知道該使用什麼方式嗎?
11/11 20:14, 17F
文章代碼(AID): #1MGGg0-i (C_Sharp)