カスタム イベント タイプが特定のユーザー アクション/トリガーにどのようにリンクされているかを理解するのに苦労しています。すべてのドキュメントは、ユーザーの操作なしでイベントをディスパッチするようです。
次の例では、ユーザーが要素に 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
にトリガー用の 3 番目のパラメーターを持ち、 と呼ばれるメソッドを作成することもaddCustomEventListener
考えてaddEventListener
いました。と指示されたとき。