Отправка двойного клика в IE с помощью двойного клика - PullRequest
0 голосов
/ 27 сентября 2019

Я хочу, чтобы двойной щелчок по строке таблицы 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);
});

Поскольку я не могу поделиться 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

Ответы [ 2 ]

0 голосов
/ 27 сентября 2019

Ниже показано добавление htmlEvents (click и 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
0 голосов
/ 27 сентября 2019

Вы смотрели на jquery API для двойного щелчка?

https://api.jquery.com/dblclick/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...