1

次のコードがあります

HTML

<button id="add-input">add</button>
<div id="input-container"></div>

JS

$('#add-input').on('click',function () {
    $('<input type="text">').appendTo('#input-container');
});

id add-input のボタンをクリックすると、すべてが期待どおりに機能します。新しい<input>要素がに追加され<div> ますが、新しく追加された要素にフォーカスし<input>てキーボードの Enter キーを押すと、クリック イベントが再び発生します。これは、IE(9) を使用した場合にのみ発生します。Chrome と Firefox でテストしましたが、どちらも期待どおりに動作します。

これを確認するための jsfiddle: http://jsfiddle.net/nMhMd/

ありがとう!

4

1 に答える 1

2

Internet Explorer は、<button>要素が送信ボタンであると認識しています。type="button"動作を変更するには、それが通常のものであると思わせるように追加します。

<button id="add-input" type="button">add</button>
于 2013-02-16T21:38:00.780 に答える