Tôi đang kích hoạt một số sự kiện DOM với jQuery triggerHandler()
kích hoạt sự kiện tùy chỉnh mà không cần 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>
Làm thế nào tôi có thể kích hoạt này mà không cần jQuery?
quan trọng: Tôi cần phải biết loại sự kiện và dữ liệu tùy chỉnh
Theo bao gồm jQuery sẽ được sử dụng document.addEventListener ('hey', function() {...}); nơi này là nhấp chuột, mousedown vv Đó có phải là những gì bạn có ý nghĩa? – garryp
Đọc nguồn jQuery sẽ cho bạn thấy nó được thực hiện như thế nào, vì jQuery là JavaScript. –
Theo như tôi nhớ, jquery kết hợp '.dispatchEvent' và' .fireEvent' cho triggerHandler. Bạn có thể dễ dàng viết một hàm để thử một hoặc cái khác. sự kiện công văn sẽ hoạt động trên hầu hết các trình duyệt. – David