innerHTML を使用してコンテンツの一部を取り出し、次に innerHTML でそれを戻すと、次のような元の動的にバインドされたイベントが失われます。
html:
スクリプト:
document.getElementById('d1').onclick =function(){alert(1)};
var html=document.body.innerHTML=html;
このコードを実行した後、d1 をクリックします。応答がありませんでした。
解決策
:
onclick を親要素にバインドし、バブル原理を使用して現在の要素が d1 であるかどうかを判断し、d1 である場合は
を実行します。
コードをコピー
コードは次のとおりです: document.body.onclick=function(e){ var e=e || イベント;
var current=e.target||e.srcElement
if(current.id=='d1'){alert(1)}
}
これも折り目です この方法は確実に効率に影響します。