1

私のChrome拡張機能は次のとおりです。

$(document).ready(function() {
    ...
    $("input[type!='password'], textarea").on("keypress", function (event) {
        ...
    });
});

これは、通常ロードされるコンテンツに対しては期待どおりに反応しますが、後でロードされる入力またはテキストエリアに対しては機能しません。

私はそれが何をすべきかでしたが、私はそれを間違って使用していますか?

私はそれを解決するためにこのようなもので遊んだことがありましたが、成功しませんでした

$(doocument).on("keypress", "input[type!='password'], textarea"....

これはjsfiddleの実際の例です。最初の入力は期待どおりに機能しますが、生成された入力は機能しません。

4

1 に答える 1

2
$(document).on("keypress", "input[type!='password'], textarea", function (event) {
    alert("this works!");
});

リスナーはに接続されており、キー押下イベントはすべてとdocumentに対してチェックされます。input[type!='password']textarea

HTMLマークアップがinput[type!='password']との親コンテナが1つあるように構成されている場合は、ドキュメント全体ではなく、その要素にのみリスナーをアタッチするように置き換えるtextareaことができます。$(document)$('.parent-container')

編集:ここに例があります:http://jsfiddle.net/yz7F5/5/

于 2013-03-24T21:23:04.400 に答える