Simulate Mouse Over в плагине Vimperator

Я пытаюсь написать плагин Vimperator, позволяющий использовать режим подсказок для имитации наведения мыши на выпадающих меню. У меня работает режим подсказок, и я могу правильно выбрать элементы, к которым прикреплены события наведения мыши. Проблема в том, что моя функция симуляции мыши не работает. Вот что у меня сейчас есть:

function SimulateMouseOver(elem)
{
    var evt = elem.ownerDocument.createEvent('MouseEvents');
    evt.initMouseEvent('mouseover',true,true,
        elem.ownerDocument.defaultView,0,0,0,0,0,
        false,false,false,false,0,null);
    var canceled = !elem.dispatchEvent(evt);
    if(canceled)
        alert('Event Cancelled');
}

Приведенный выше код работает для некоторых страниц, но не для других. Например, он не работает на AccuWeather. Любые идеи, как имитировать мышь, которая будет работать для большинства страниц?

3 ответа

Вот некоторый код для начала, чтобы создать событие, проще и работает для большего количества браузеров (если вам не нужно указывать точные координаты мыши)

        if( document.createEvent ) {
            var evObj = document.createEvent('MouseEvents');
            evObj.initEvent( 'mouseover', true, false );
            elem.dispatchEvent(evObj);
        } else if( document.createEventObject ) {
            elem.fireEvent('onmouseover');
        }

надеюсь, это поможет

В случае, если кто-то столкнется с этим в поисках независимого от фреймворка способа запуска любого события HTML и мыши (и при необходимости установите некоторые параметры), посмотрите здесь: Как имитировать щелчок мыши с помощью JavaScript?

Вы можете инициировать событие наведения мыши только на те поля / элементы, с которыми связано событие наведения мыши. Вы не можете просто похитить мышь.

Другие вопросы по тегам