1

以下はクロムでは機能しませんが、IE と Firefox では機能します。

<div id="removeField" onclick="remove(0);" style="cursor: pointer;">-Remove</div>

remove() 関数は呼び出されません。理由はありますか?

4

2 に答える 2

5

この Chrome バグ レポートによると、彼らは仕様removeである関数を実装しました。Chrome には、要素を自己削除できる方法があるようです。おそらく、関数に別の名前を付けたいと思うでしょう。これは、実装を示す Webkitの変更ログです。.remove()

于 2013-06-18T20:16:55.073 に答える
1

removeChrome の DOM 要素のメンバー関数です。コンソールで次のコマンドを実行すると、これを確認できます。

> document.createElement("div").remove
function remove() { [native code] }

インライン イベント ハンドラーでは、その要素のすべてのプロパティ (メンバー関数を含む) を最上位変数として使用できます。インライン コードは、with(thisElement)ブロック内で効果的に実行されます。インライン イベント コードのコンテキストでは、識別子はグローバル スコープ関数ではなく、要素removeのメソッドを参照します。removeremove

関数名を要素のメソッド名と衝突しないものに変更するか、window.remove明示的に使用してください。

IEのメソッドで同様のケースを処理する私の以前の回答から変更されstartました。 )

于 2013-06-18T20:22:11.050 に答える