static HRESULT WINAPI HTMLElement_put_onclick(IHTMLElement *iface, VARIANT v)
{
HTMLElement *This = HTMLELEM_THIS(iface);
- FIXME("(%p)->()\n", This);
- return E_NOTIMPL;
+
+ TRACE("(%p)->()\n", This);
+
+ return set_node_event(&This->node, EVENTID_CLICK, &v);
}
static HRESULT WINAPI HTMLElement_get_onclick(IHTMLElement *iface, VARIANT *p)
return S_OK;
}
+HRESULT set_node_event(HTMLDOMNode *node, eventid_t eid, VARIANT *var)
+{
+ switch(V_VT(var)) {
+ case VT_DISPATCH:
+ return set_node_event_disp(node, eid, V_DISPATCH(var));
+
+ default:
+ FIXME("not supported vt=%d\n", V_VT(var));
+ }
+
+ return E_NOTIMPL;
+}
+
void check_event_attr(HTMLDocument *doc, nsIDOMElement *nselem)
{
const PRUnichar *attr_value;
void check_event_attr(HTMLDocument*,nsIDOMElement*);
void release_event_target(event_target_t*);
void fire_event(HTMLDocument*,eventid_t,nsIDOMNode*);
+HRESULT set_node_event(HTMLDOMNode*,eventid_t,VARIANT*);
eventid_t str_to_eid(LPCWSTR);
void set_document_bscallback(HTMLDocument*,nsChannelBSC*);