将右键单击事件发送到Internet Explorer 8文档中iframe中的元素

时间:2013-11-18 23:01:48

标签: javascript iframe extjs autohotkey

我需要学习如何使用IE8文档模式右键单击网页中的元素。

我正在使用的网页是PTC的windchill 10,我认为它是使用sencha的extjs创建的。我不确定extjs是否始终将.click()方法注册为单击。我需要在mousedown和onmouseup上使用一些元素来点击工作。

我已经在iframe对象psbIFrame上测试了这个函数来执行常规.click(),它使用autohotkey工作。

Autohotkey语法

click_event:=window_handle.document.all.psbIFrame.contentWindow.document.createEventObject()
click_event.button:=1 ;left button down
links[a_index-1].fireEvent("onclick", click_event)

Javascript类型语法

document.all.psbIFrame.contentWindow.document.createEventObject();
click_event.button=1;
links[a_index-1].fireEvent("onclick", click_event)

我也可以使用其他不在iframe中的元素。

event:=document.createEventObject()
event.button:=1 ;left button down
element.fireEvent("onmousedown", event)
element.fireEvent("onmouseup", event)

由于文档模式为ie8,所以这些都是左键单击。当我将按钮设置为2并执行其中任何一项时,我都没有发生任何事情。

是否有其他人可以访问可以帮助我测试的windchill页面?

1 个答案:

答案 0 :(得分:1)

element.fireEvent("oncontextmenu")

这就是我期望右键单击做的事情。使用fireEvent,您甚至不需要在大多数情况下初始化事件。假设某些默认值,FireEvent将在后台执行此操作。我不知道在将问题按钮改为2的情况下我在做什么也是有道理的。 http://help.dottoro.com/ljvtddtm.php表示fireEvent http://help.dottoro.com/lagstsiq.php/#MouseEvent_Members获取鼠标事件列表