作者unstoppable (BEN)
看板C_Sharp
标题[问题] htmlelement无法触发onpropertychange
时间Tue Nov 10 05:05:01 2015
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://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1447103104.A.FAC.html
1F:推 Peruheru: 我只知道原因是事件来不及挂载 11/10 17:23
2F:→ unstoppable: 挂载事件是在document_completed里面处理的,不晓得P 11/11 01:38
3F:→ unstoppable: 大说的是哪个部分,感恩 11/11 01:39
4F:推 Peruheru: 我对於後端程式挂载的JS事件不熟,但他挂载是在网页产生 11/11 09:17
5F:→ Peruheru: 的时候挂载的吧?在document_completed的时候,你的外部 11/11 09:17
6F:→ Peruheru: js档"还没有"执行,也就是挂载的对象还没产生所以挂不到 11/11 09:18
7F:→ Peruheru: 我不知道如果要用你现在的做法改进要怎麽做,我只会直接 11/11 09:19
8F:→ Peruheru: 写在JS内,在产生後才进行挂载事件 11/11 09:20
9F:→ Peruheru: 我上面说的除非是对於"document_completed"理解有误 11/11 09:22
10F:→ Peruheru: 不然他应该是跟jquery的$(document).ready();一样吧? 11/11 09:22
11F:→ Peruheru: 所谓网页载入完成,并"不包括"你用JS动态载入的元素 11/11 09:23
12F:→ Peruheru: 既然产生是用JS动态载入,那麽绑事件也应该写在同一处 11/11 09:25
13F:→ unstoppable: 感谢P大回答,挂载的对象已经在document_completed产 11/11 20:04
14F:→ unstoppable: 生,JS在挂载的HE下增加child element,如果挂不上应 11/11 20:05
15F:→ unstoppable: 该会抛出错误,就是HE为null 11/11 20:06
16F:→ unstoppable: 翻了msdn,innerText或是innerHTML改变不会触发 11/11 20:12
17F:→ unstoppable: onproprtychange事件,请问有人知道该使用什麽方式吗? 11/11 20:14