我有这个代码...
// 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”,但没有成功。
最佳答案
您不能仅将 live
替换为 on
。如果您阅读有关 on
的文档你会看到这个:
.on( events [, selector] [, data], handler(eventObject) )
因此,按照以下方式,您可以像这样使用 on
:
$('.closest-parent').on('keyup', '.inputs input', function () { ... })
.closest-parent
是距离 .inputs
最接近的父元素。通过使用最接近的父级而不是仅仅文档
,您可以提高性能。
关于Jquery On 而不是 Live 用于动态输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11892561/