3

こんにちは、私のコードは次のとおりです

脚本

$(document).ready(function(e) {
    $('.text').live('change',function(){
        var a = $(this).val();
        alert(a);
        })
});

HTML

<input name="" type="text" class="text"/>

私はjQueryが初めてです変更時に入力の値を取得したい値は動的に何度も変更されます

みんな助けてください

4

5 に答える 5

11

jQuery 1.7 以降、.live() メソッドは非推奨になりました。

使用する必要がありますon()

$(document).ready(function(e) {
    $('.text').on('change',function(){
        var a = $(this).val();
        alert(a);
        });
});
于 2013-08-23T06:02:52.623 に答える
2

テキストボックスの場合、input代わりに使用しますchange

$('.text').live('input',function(){
        var a = $(this).val();
        alert(a);
        })
});

入力変更イベントに関するこのSOの回答を確認してください。

ところで:.live()最新バージョンのjQueryに移行して、置き換えることを検討する必要があります.on()

于 2013-08-23T06:04:44.397 に答える
1

.live () メソッドは jQuery 1.7 以降非推奨となり、1.9 で削除されました。代わりに .on() メソッドを使用するようにコードをアップグレードすることをお勧めします。jQuery Core 1.9 アップグレード ガイド

$(document).ready(function(e) {
    $('.text').on('change',function(){
        var a = $(this).val();
        alert(a);
        })
});
于 2013-08-23T06:06:52.670 に答える
0

オンまたはクリックして使用できます

$(document).ready(function(e) {
    $('.text').click('change',function(){
        var a = $(this).val();
        alert(a);
        })
});
于 2016-08-19T04:47:09.603 に答える
0

{Function: " ON() "} {Event: " input "} {すべてのフォーム フィールドHTML5 "contenteditable"で動作する }

他のユーザーが指摘したように、live() 関数は長い間減価償却されていますが、on() 関数を使用して live() と同じ効果を得る真の方法を指摘し、StackOverflow ユーザーが誤解を招く名前のイベント " input " jQuery ドキュメント

違いは、live() はソートのすべての要素をターゲットにするのに対し、on() / bind () は現在影響を受ける要素のみをターゲットにするため、はるかに効率的で軽量かつ高速になります。

ただし、他の人が指摘しているように、正しい解決策はon() または bind()だけではありません。on() イベントを使用するだけで「泡立ち」、要素から離れるまで発生しません。トリックは、「input」を省略形のイベントとして使用し、その直後の要素をターゲットにすることです。良いニュースは、同じ " input " イベントがすべてのフォーム フィールドだけでなく、html の "contenteditable" コンテンツでも機能することです ;)

完全な例は、以下のスニペットにあります。

jQuery(document).ready(function(e) {
    $('body').on('input','.text',function(){
        var a = $(this).val();
        alert(a);
    });
});
.text{
   display:block;
   width:50%;
   height:25px;
   margin:0;
   border:1px soid silver;
   background:silver;
   line-height:25px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input name="" type="text" class="text" placeholder="Type e.g. 123"/>
<hr>
<select name="select" class="text">
   <option>1</option>
   <option>2</option>
</select>
<hr>
<textarea class="text"  placeholder="Type e.g. 123"></textarea>
<hr>
<div contenteditable="true" class="text">Type e.g. 123</div>

于 2019-11-08T09:51:23.757 に答える