在WebBrowser中HtmlElement类如何动态添加"onclick"事件处理(分不够可再给)

wqdzgh 2014-02-20 10:59:16
用VS2005写一段程序,窗体中使用一个WebBrowser控件做界面,动态创建一个<SPAN>标签,成功添加到浏览器中,但是onclick事件不执行。哪位大侠能够指点一下。

 Dim li As HtmlElement = browser.Document.CreateElement("LI")
li.Id = "li" & mID.ToString
li.SetAttribute("classname", "li1")

Dim inSpanBtnDel As HtmlElement = browser.Document.CreateElement("SPAN")
With inSpanBtnDel
.Id = li.Id & "_spanBtnDel"
.InnerText = "删除"
.SetAttribute("classname", "span_btn_normal")
.SetAttribute("onmouseover", "function(){this.className='span_btn_over';}")
.SetAttribute("onmouseout", "function(){this.className='span_btn_normal';}")
.SetAttribute("onclick", "javascript:window.external.ReceiveMessage(this.id,'onclick')")
End With

li.AppendChild(inSpanBtnDel)
...全文
339 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wqdzgh 2014-02-27
  • 打赏
  • 举报
回复
这里的人气不如过去旺了啊,自己再顶一下吧。
水猿兵团五哥 2014-02-21
  • 打赏
  • 举报
回复
SetAttribute("onclick", "javascript:window.external.ReceiveMessage(this.id,'onclick')") 这句不是这样写的吧
真相重于对错 2014-02-21
  • 打赏
  • 举报
回复
试试 /// ..... Dim li As HtmlElement = browser.Document.CreateElement("LI") ...... browser.Document.AppendClide( li);
md5e 2014-02-21
  • 打赏
  • 举报
回复
.SetAttribute("onclick", "javascript:window.external.ReceiveMessage(this.id,'onclick')") ==> .SetAttribute("onclick", "alert('点击')")这个能行吗?
wqdzgh 2014-02-21
  • 打赏
  • 举报
回复
自己顶一下,如能解决问题,开新帖另送200分。
wqdzgh 2014-02-21
  • 打赏
  • 举报
回复
browser.Document.BODY.AppendClide( li) 是把新建的元素直接追加到网页的body上。
刚刚查找了一下资料,据说是ie不支持动态创建的htmlelement元素添加事件处理的属性,不知道是不是这样。
wqdzgh 2014-02-21
  • 打赏
  • 举报
回复
AppendChild 就是把一个HtmlElement元素附加到一个已经存在的HtmlElement元素上。
真相重于对错 2014-02-21
  • 打赏
  • 举报
回复
引用 3 楼 hdt 的回复:
试试 /// ..... Dim li As HtmlElement = browser.Document.CreateElement("LI") ...... browser.Document.AppendClide( li);
上边的回复有些错误 应该是 browser.Document.BODY.AppendClide( li)

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧