我正在努力了解自定义事件类型如何链接到特定的用户操作/触发器。所有文档似乎都在没有任何用户交互的情况下调度事件。
在下面的示例中,我希望在用户将鼠标悬停在元素上 3 秒后调度事件。
var img = document.createElement('img');img.src = 'http://placehold.it/100x100';
document.body.appendChild(img)
var event = new CustomEvent("hoveredforthreeseconds");
img.addEventListener('hoveredforthreeseconds', function(e) { console.log(e.type)}, true);
var thetrigger = function (element, event) {
var timeout = null;
element.addEventListener('mouseover',function() {
timeout = setTimeout(element.dispatchEvent(event), 3000);
},true);
element.addEventListener('mouseout', function() {
clearTimeout(timeout);
},true);
};
我有一个触发器,但没有将其连接到事件的合乎逻辑的方式。
我正在考虑创建一个名为的对象,该对象CustomEventTrigger
本质上是触发器的第三个参数,CustomEvent
并且还创建一个名为当它被指示时。addCustomEventListener
addEventListener