将双击发送到 Internet Explorer

Sending double click to Internet Explorer

我希望双击 HTML table 行选择记录。

我找到了发送左键单击的元素,但我无法发送双击。我检查了没有用于选择的鼠标事件控件/属性,我认为这是因为它使用了 jquery / java 函数。

我无法共享该网站。我知道这是可以做到的,因为有人已经做到了,但他们没有分享。

我认为与我们需要的功能相关的代码

/* double click on table row */
jQuery(tableId ).on('dblclick', ' tbody tr',function() {
if(isAutoNextEnabled!=null && isAutoNextEnabled=='Y'){
createAutoNextListNew(oTable, tableName, this);
}
window[functionName](this);
});

因为我不能分享URL,我找到了一个替代https://unixpapa.com/js/testmouse-2.html

这是一个检测我们点击的网站。它捕获单击左键,但不捕获双击。

我知道提供的网站有firevent选项,但是我需要这个功能的网站没有。

这适用于单击,来自网站 (https://unixpapa.com/js/testmouse-2.html),它捕获一次左键单击:

set ta = objie.getElementsByTagName
for each x in ta
    if x = [[our target ]]
    x.click
    end if
next x

双击不工作

for each x in ta
    if x = [[our target ]]
        x.doubleclick
    end if
next x

for each x in ta
    if x = [[our target ]]
        x.doubleclick
    end if
next x

你看过 jquery api 双击吗?

https://api.jquery.com/dblclick/

以下显示添加 htmlEvents(点击和 dblclick),然后使用您的链接页面触发它们

Option Explicit
Public Sub ClickTest()

    Dim evtClick  As Object, evtDblClick As Object, ie As InternetExplorer

    Set ie = New InternetExplorer

    With ie
        .Visible = True
        .Navigate2 "https://unixpapa.com/js/testmouse-2.html"

        While .Busy Or .readyState <> 4: DoEvents: Wend

        Set evtClick = .document.createEvent("HTMLEvents")
        Set evtDblClick = .document.createEvent("HTMLEvents")

        evtClick.initEvent "click", True, False
        evtDblClick.initEvent "dblclick", True, False

        With .document.querySelector("#link")
            .dispatchEvent evtClick
            .dispatchEvent evtDblClick
        End With
        With .document.querySelector("textarea")
            Do
            Loop While .innerText = vbNullString
            Debug.Print .innerText
        End With
    End With
End Sub