如何读取页面元素的onclick属性值
页面代码:
<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');
------解决方案--------------------------------------------------------
页面代码:
<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');
------解决方案--------------------------------------------------------
- C/C++ code
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);