Я запуск некоторых событий DOM с JQuery triggerHandler()
триггер пользовательского события без JQuery
<!DOCTYPE html>
<html>
<head>
<title>stackoverflow</title>
<script src="http://ajax.googleapis.com:80/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<body>
<script>
$(document).ready(function() {
$(document).on('hey', function(customEvent, originalEvent, data) {
console.log(customEvent.type + ' ' + data.user); // hey stackoverflow
});
// how to this in vanilla js
$(document).triggerHandler('hey', [{}, {
'user': 'stackoverflow'
}])
});
</script>
</body>
</html>
Как я могу вызвать это без JQuery?
Важно: Мне нужно знать тип события и пользовательские данные
Под обложками JQuery будет использовать document.addEventListener ('эй', функция() {...}); где эй клик, mousedown и т. д. Это то, что вы имеете в виду? – garryp
Чтение источника jQuery покажет вам, как это делается, поскольку jQuery - это JavaScript. –
Насколько я помню, jquery объединяет '.dispatchEvent' и' .fireEvent' для triggerHandler. Вы можете легко написать функцию, чтобы попробовать тот или иной. событие отправки будет работать в большинстве браузеров. – David