私は体内のすべての3つの要素がいくつかのイベント(relevant code pen)に加入している以下のようなセットアップ、持っている:CustomEvent
はバブルアップとし、私の知る限りではカスタムイベントをブロードキャストできますか?
var div = document.querySelector('div');
var span = document.querySelector('span');
var button = document.querySelector('button');
div.addEventListener('ding', function() {
console.log('click');
});
span.addEventListener('ding', function() {
console.log('clack');
});
button.addEventListener('ding', function() {
console.log('bang');
});
document.body.dispatchEvent(new CustomEvent('ding')); // ???
// expected output: 'click clack bang'
<body>
<div></div>
<span></span>
<button></button>
</body>
をおそらく私が必要とするものです。 CustomEvent
を発送して、3人のハンドラのすべてが発砲する可能性はありますか?
コンテンツ);シングルトンが良くなることがあります。あなたはそれが
EDITを役に立てば幸い...だけでなく、リスナーを削除するメソッドを追加し、多分など「クリック」のような通常のイベントを処理するコードを少し変更することができますあなたの質問の** **あなたの質問には、単にリンクされていません。 –
なぜこのようなイベントを使用したいのですか? – Ionut
@Ionut、別々の部分からアプリ全体のイベントをブロードキャストします。ユーザーがログインしたことを他人に知らせるログインフォームなど。 – Zomagk