6

テキスト入力がいつ変化したかを検出したい。これらを試してみましたが、Firefox では機能しましたが、IE 8 では機能しませんでした。

$('#taskSearch').bind('input', function() {
     alert($(this).val());
});
$('#taskSearch').live('input', function() {
    alert($(this).val());
});
$('#taskSearch').change(function() {
    alert($(this).val());
});
4

7 に答える 7

11

onpropertychangeIE6+に使用できます。

$("#taskSearch").on("propertychange", function(){
alert($(this).val());
});
于 2012-11-28T09:56:54.637 に答える
3

次の解決策は、タイプ = "num" 入力フィールド内のキー、スクロール、または矢印ボタンによる変更の両方に対して、IE8 および最新のブラウザーで機能します。

$('#element').on('keyup change', function() {
  // do something
});
于 2014-05-01T18:56:43.283 に答える
2

最後のもの(そして最後のものだけ)は正しいですが、閉じ括弧がありませんでした:

$('#taskSearch').change(function() {
    alert($(this).val());
});

.live()は非推奨であり(そして構文が正しくありません)、の構文.bind()も正しくありません。イベントの名前は'change'、ではなく、'input'です。のドキュメントを参照してください.change()

于 2012-08-03T08:17:29.473 に答える
1

https://github.com/spicyj/jquery-splendid-textchangeは、IE8 および IE9 で「入力」をエミュレートする際の癖を修正するためのプラグインです。

著者は、ブログ投稿 ( http://benalpert.com/2013/06/18/a-near-perfect-oninput-shim-for-ie-8-and-9.html ) で、このソリューションをどのように達成したかを説明しています。これは確かに複雑です。詳細を知りたい場合は読んでください。

于 2014-07-14T02:10:34.027 に答える
0
$('#taskSearch').change(function() {
    alert($(this).val()); // not the extra brace I've added
});

うまくいくはずです。PS使用を中止してください.live()

于 2012-08-03T08:18:04.160 に答える
0

これはIE8でキーが押されたことを検出します

$("#input").on('keyup', 関数 (イベント) { alert('keypress'); });

于 2014-07-29T14:21:44.973 に答える
0

入力値の変更時にすぐに起動するには:

$('#example')on('keyup input', function(e){
    alert(e.type); // Displays 'keyup' in IE8, 'input' in browsers
});

(これはマークの答えのバリエーションです)

于 2015-03-11T20:53:09.643 に答える