このバグはおそらく再現可能ではありません(編集:そう思いました)。onkeyupとoninputを含むテキストエリアがあります。ctrl-vでテキストエリアに何かを貼り付けると、2回貼り付けられ、oninputイベントが2回発生します。ただし、マウスのコンテキストメニューを使用した貼り付けは正常に機能します。次に、onkeyupの名前をonkeyup_に変更して、何が変更されたかを確認するために起動するのを一時的に回避します。何も変更されません。次に、「onkeyup_」イベントが発生していないことを確認するためにテストします。onkeyup_ = "alert('これは起動しないでください')"。テキストを取得する代わりにテキストエリアにテキストを貼り付けようとすると、「これは起動しない」というテキストが代わりにテキストエリアに表示され、アラートによってアラートウィンドウが作成されず、代わりに引数がダンプされます。テキストエリアに、奇妙な。
ctrl-vで貼り付けると、テキストが2回追加され、oninputが2回起動します。マウスのコンテキストメニューで貼り付けると、テキストは1回だけ表示されます。しかし、奇妙な部分があります。onkeyup_イベントを完全に削除しますが、コードに存在しなくなっても発生し続けます。そして、「要素を検査」すると、アラートコードがhtmlに含まれなくなったことを確認しますが、起動し続け、アラートウィンドウに表示する代わりに、引数をテキストエリアにダンプし続けます。Chromeは、もはや存在しないコードをどのように実行できますか?古いバージョンのある種のコピーを保持していますか?これまでに多くの変更を加えましたが、Chromeはファイルの新しいバージョンを取得します。そして、なぜアラートが想定どおりに機能しないのですか?
編集:ふぅ、追跡するのは困難でした(私はたくさんのコードを入手しました)が、これはChromeのバグを再現しますが、Firefoxでは正常に機能します:
<html>
<head>
<script>
function f(d){
alert(d.value);
}
</script>
<body>
<textarea name="commentBody" rows="8" cols="50" id="addVideo" oninput="f(this)" placeholder="Placeholder text..." style="margin-left: 0px; margin-right: 0px; width: 489px; margin-top: 5px; margin-bottom: 5px; height: 120px; "></textarea>
</body>
</html>
では、問題はフィールドの値を警告することですか?なんで?