使用jQuery转到任何页面。打开控制台。输入以下命令:
monitorEvents(document);
这将显示文档看到的所有事件。如果您在页面上移动鼠标,您将看到mousemove事件。
现在输入:
$("body").trigger("click");
您应该会在控制台中看到click事件(来自monitorEvents)
现在尝试这个命令:
$("body").trigger("custom");
该事件现在显示在控制台中。对我来说至少它没有。
似乎我使用触发器来触发正常事件,它可以工作,但对于自定义事件,它不会被引发。为什么呢?
答案 0 :(得分:1)
出于几乎相同的原因,$('body').trigger('mouseup');
没有显示任何内容;该特定事件没有事件监听器。
您需要先附加事件侦听器。 jQuery构造自己的事件对象类型。
$('body').on('whatever', function (e) {
window.console.log(e);
});
现在$('body').trigger('whatever');
可以使用。
如果您想在此处浏览一些vanilla JavaScript,请参阅事件文档:https://developer.mozilla.org/en-US/docs/Web/API/Event
答案 1 :(得分:-1)
您可能只需先construct an event。尝试:
var customEvent = new Event("custom");