0

在下面的脚本中,当我在控制台中运行它时,在其中一个 customFields 输入中键入时,它返回一个错误:

未捕获的类型错误:无法读取未定义的属性“值”

任何人都看到有什么问题吗?

jQuery(document).ready(function () {

        jQuery("#customfield_21070").attr('style', 'width:60px');

        var customfields = '#customfield_11070,#customfield_11071,#customfield_20071,#customfield_20072,#customfield_20073,#customfield_20074';

           jQuery(customfields).keyup(function () {
                calculateSum.call(this);
            });


        function calculateSum(param) {
            var sum = 0;

            if (!isNaN(param.value) && param.value.length != 0 && param.id !== "customfield_21070") {
                sum += parseFloat(param.value);
            }

            jQuery("#customfield_21070").val(sum.toFixed(2));
        }

    });
4

1 回答 1

1

calculateSum(this)代替calculateSum.call(this)


解释

的第一个参数.call()实际上并没有将参数传递给您实际调用的函数。它定义了this函数内部的关键字。

参考:https ://developer.mozilla.org/en/docs/JavaScript/Reference/Global_Objects/Function/call

于 2013-04-24T17:00:41.410 回答