如何读取页面元素的onclick属性值

__________________ 2011-09-26 01:56:24
页面代码:
<a id='linka' onclick="alert('ok');">链接一</a>

程序代码:
IHTMLElement item;// 已经找到该元素

我想取出item身上onclick属性的值:alert('ok');

但取出来是一个htmleventojbect
我试过getAttribute或是get_oncick方法,返回都是一个vt_dispatch。查了一下。这个dispatch是个htmleventojbect。

htmleventojbect接口我也查了一下。没有读取事件指向的代码功能。

我该怎样从IHTMLElement上读取onclick属性值:alert('ok');
...全文
568 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jijiaa12345 2012-05-27
  • 打赏
  • 举报
回复
谁能给我能跑的这个例子,金钱酬劳
jijiaa12345 2012-05-27
  • 打赏
  • 举报
回复
兄弟,能不能帮我解决一下这个问题,有金钱酬劳
__________________ 2011-09-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 superarhow 的回复:]
C/C++ code

CComQIPtr<IHTMLElement> spElem(spDispItem);
VARIANT var;
spElem->get_onclick(&var);
//CComQIPtr<IHTMLEventObj> spEvent(var.pdispVal);
CComQIPtr<IDispatch> spD……
[/Quote]

成功了。感谢大侠!
__________________ 2011-09-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 superarhow 的回复:]
C/C++ code

CComQIPtr<IHTMLElement> spElem(spDispItem);
VARIANT var;
spElem->get_onclick(&var);
//CComQIPtr<IHTMLEventObj> spEvent(var.pdispVal);
CComQIPtr<IDispatch> spD……
[/Quote]
感谢
我试一下。
superarhow 2011-09-26
  • 打赏
  • 举报
回复

CComQIPtr<IHTMLElement> spElem(spDispItem);
VARIANT var;
spElem->get_onclick(&var);
//CComQIPtr<IHTMLEventObj> spEvent(var.pdispVal);
CComQIPtr<IDispatch> spDisp(var.pdispVal);
DISPID dispId = 0;
OLECHAR *szName = L"toString";
spDisp->GetIDsOfNames(IID_NULL, &szName, 1, LOCALE_SYSTEM_DEFAULT, &dispId);
DISPPARAMS params;
memset(¶ms, 0, sizeof(params));
VARIANT varRet;
spDisp->Invoke(dispId, IID_NULL, LOCALE_SYSTEM_DEFAULT, DISPATCH_METHOD, ¶ms, &varRet, NULL, NULL);
__________________ 2011-09-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 oyljerry 的回复:]
直接当XML来解析,然后获取Attribute,得到onlick的值
[/Quote]
不会吧。老大。这样的话不就麻烦死了。
oyljerry 2011-09-26
  • 打赏
  • 举报
回复
直接当XML来解析,然后获取Attribute,得到onlick的值

3,055

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC HTML/XML
社区管理员
  • HTML/XML社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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