0

我正在尝试根据 Internet 上的示例学习 jquery 为我的网站制作简单的应用程序。这是 3 个字段的简单乘法,结果显示在第四个输入字段中。在 html 中,这 3 个字段具有预设值。

问题:是什么使得在页面加载时计算结果值而不用 keyup 事件触发它。我找到了两种方法,只有第二种方法计算页面加载的值。

    $(':input').bind('keypress keydown keyup change',function(){
var qt = parseFloat($('#qt').val(),10),
    a = parseFloat($('#a').val(),10),
    b = parseFloat($('#b').val(),10);
// var v = '';
if (a && b && qt){
    v = a*b*qt; 
    $('#ans').val(Math.round(a*b*qt*100)/100);
}
//  $('#ans').val(v.toString());
});

甚至在页面加载时也有效的第二个示例:

var calcpvc = function() {
var qt = parseFloat($('#qt').val(),10),
    a = parseFloat($('#a').val(),10),
    b = parseFloat($('#b').val(),10);
//var v = '';
if (a && b && qt){
    v = a*b*qt; 
    $('#ans').val(Math.round(a*b*qt*100)/100);
}
 //  $('#ans').val(v.toString());
};
$(':input').keyup(calcpvc).change(calcpvc).change();
4

1 回答 1

1

我不确定我是否完全理解您的要求,但我想您想知道为什么第二个示例在负载上有效?

在这种情况下,这是因为该函数附加到元素的changeandkeyup事件,然后change手动触发了一个事件。

于 2013-08-13T13:26:09.957 回答