できるだけソースコードの形態を書き換えずにaddEventListenerの上書きがしたいです
下記でいったら
上書きされworldだけ表示されるようにしたいです
詳しい方回答お願いいたします
<script> window.onload=function(){ div=document.createElement("div"); div.id="all_menu"; div.style.width="25%"; div.style.height="100%"; div.style.background="red"; div.addEventListener('click', function() { alert("hello"); }); div.addEventListener('click', function() {//ここで前のhelloを上書きしてhelloをなかったことにしたい alert("world"); }); document.body.appendChild(div); } </script>
onclick を使うとか。
> 下記でいったら
この例で言えば、「そもそもalert("hello");の方を割り当てない」という解決策が可能です。それが不可能なのであれば、その事情が分かる例をご提示いただければと思います。
一度付けたがあとから消したいという事は不可能なんですか
> 一度付けたがあとから消したいという事は不可能なんですか
可能か不可能かを言えば可能です。ただ、上に書いたように「外さずに済む」解決策を取れるのであれば、そのほうがより「ソースコードの形態を書き換えずに」済むのではないかと考えます。
外さずに済むんだったら最初から付けない、バカでもアフォでもわかる・・・
この質問を見ると、バカでもアフォでもわかることがわかっていない人が書いたように見えます。
そう見られたくなかったら、大人が仕事で書く資料のように書き直しましょう。
ここまでシンプルな例ではないにしても、「イベントハンドラはそのままで中の動作だけ切り替える」など、「イベントハンドラの付け外しに頼らない」解決策が、状況によってはありえます。
実際の背景がわからないと、それ以上はコメントできません。
回答2件
あなたの回答
tips
プレビュー