【问题标题】:Sending double click to Internet Explorer发送双击到 Internet Explorer
【发布时间】:2020-07-06 15:18:06
【问题描述】:

我希望双击 HTML 表格行来选择记录。

我找到了发送左键的元素,但我无法发送双击。我检查了选择没有鼠标事件控件/属性,我认为这是因为它使用了 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);
});

由于无法分享网址,我找到了替代的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 excel vba internet-explorer-11


    【解决方案1】:

    以下显示添加 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
    

    【讨论】:

    • 太棒了。并且是迄今为止最全面的解决方案和可行的例子。非常感谢,您一如既往地乐于助人
    【解决方案2】:

    你查看过双击的 jquery api 吗?

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

    【讨论】:

    • 感谢您的建议。查了很多 api 都没有锻炼
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    • 2017-03-20
    • 1970-01-01
    • 2015-12-26
    • 2013-03-28
    • 1970-01-01
    相关资源
    最近更新 更多