1

私はこのコードを持っています...

// Display number of pixels left from nav width
$('.inputs input').live('keyup',function() {
    var nav_width = $('#nav-width').val();
    var sumOfVals = 0;
    $('.inputs input').each(function () {
    sumOfVals = sumOfVals + parseInt($(this).val());
});
sumOfVals = nav_width - sumOfVals;
    $('#px-left em').html(sumOfVals);
});

動的に追加された入力フィールドのkeyupイベントで実行する必要がありますが、「on」イベントを使用したいと思います。これは可能ですか?「live」を「on」に置き換えてみましたが、機能しませんでした。

4

2 に答える 2

2

liveだけで置き換えることはできませんon。ドキュメントを読むと、次のonことがわかります。

.on( events [, selector] [, data], handler(eventObject) )

したがって、次のように使用すると、次のようになりますon

$('.closest-parent').on('keyup', '.inputs input', function () { ... })

.closest-parentに最も近い親要素.inputsです。documentパフォーマンスを向上させるだけでなく、最も近い親を使用することで。

于 2012-08-09T22:00:27.713 に答える
1

これはうまくいくはずです:

$(document).on('keyup', '.inputs input', function() {
    var nav_width = $('#nav-width').val();
    var sumOfVals = 0;
    $('.inputs input').each(function () {
    sumOfVals = sumOfVals + parseInt($(this).val());
});
于 2012-08-09T21:58:59.417 に答える