2015-01-29 3 views
0

У меня есть ситуация, когда я хочу инициировать события мыши на их эквивалентных событиях касания, чтобы иметь дело с проблемами совместимости с мобильными устройствами.Увольнение родных событий мыши с помощью Javascript?

Для этого я создал слушателей событий для события касания, которые (должны) должны обеспечивать эквивалентные события мыши на объектах. К сожалению, я не могу понять, как запустить событие на элементе dom.

Я надеялся на что-то вроде этого:

document.body.addEventListener('touchstart', function(event) { 
    event.target.mousedown() 
}, false); 

Но функция как это, кажется, не существует. Любое решение?

спасибо.

+0

Посмотрите в document.createEvent() или новый конструктор MouseEvent(). – dandavis

+0

[Запуск встроенных событий] (https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events#Triggering_built-in_events) –

ответ

0

Чтобы отправлять события вручную в JavaScript, используйте метод element.dispatchEvent(evt). Вы можете создавать события, которые будут отправлены с использованием document.createEvent().

В качестве альтернативы, если вы используете jQuery, вы можете сделать это проще, просто позвонив $.mousedown() или $.trigger("mousedown").

+0

Я пробовал делать специальные события для увольнения диспетчером , но они, похоже, не соответствуют событиям родного дома, которые я пытаюсь запустить. Мне нужны эти события, которые срабатывают, чтобы вызвать серию событий dom, которые прослушивают собственные триггеры. – netboi

+0

@netboi Вы правильно инициализировали его, вызвав '.init()'? –

+0

Нет, я еще не слышал об использовании этого метода в JS. как он будет использоваться в этом случае? - благодаря – netboi

Смежные вопросы