[问题] 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