これは私が直面している単純な問題です。他の要素はCustomEventを聞いていません
ボタンがあります。このボタンをクリックすると、カスタムイベントcustomClick
が送出されます。ですから、他のDOM
要素(inputなど)がこのカスタムイベントをリッスンするようにします。
しかし、入力は聞きません。イベントを送出するボタンだけがcustomClick
を聞いていました。
私は間違っていますか?入力要素をcustomClick
イベントに聞くにはどうしたらいいですか?あなたが持っている設定で
var button = document.getElementById('customClick');
button.addEventListener('click', function(e){
var clickedButton = e.currentTarget;
var newEvent = new CustomEvent("customClick");
//console.log(newEvent);
clickedButton.dispatchEvent(newEvent);
})
button.addEventListener('customClick', function(e){
alert('button listening customClick');
})
var input = document.getElementById('input');
input.addEventListener('customClick', function(e){
alert('input listening customClick');
})
<button id="customClick">custom click</button>
<input id="input" type="text" />
あなたは、入力がボタンの上に発射イベントに応答したいですか?その場合は、イベントを「取得」するために共通の親が必要です。バブリングとキャプチャを参照してください。https://stackoverflow.com/questions/4616694/what-is-event-bubbling-and-capturing –
ボタンと入力は隣接する兄弟であり、利用できるオプションは多数あります。彼らはすべて、カスタムイベント(魔女は過労、BTW)を聞いている入力を伴わない。 customClickが実行されたら、入力は正確に何を行いますか?このcustomClick **は、ユーザーが要素をクリックすることを伴わない限り、何を呼び出したいかにかかわらず、それはまだクリックです...? – zer00ne