【问题标题】:Extended jQuery spinnder throwing error when attempting to call method 'value'尝试调用方法“值”时扩展的 jQuery 微调器抛出错误
【发布时间】:2013-10-31 19:39:00
【问题描述】:

如果达到最小/最大值,我需要一个微调器溢出,我可以这样做 -

$('.inline-spinner').spinner({
    page: 10,
    spin: function(event, ui){
        if(ui.value > 99){
            $(this).spinner('value', 0);
            return false;
        } else if (ui.value < 0){
            $(this).spinner('value', 99);
            return false;
        }
    }
});

但是,如果我扩展微调器以便将 px 后缀添加到输入中,则每当我尝试超出其中一个边界值时,附加到 spin 的函数就会产生错误(但其他情况下工作正常) -

无法在初始化之前调用微调器上的方法;试图调用方法“值”。

谁能告诉我为什么会出现这个错误,以及如何解决它?

这是我扩展微调器的方式(我还尝试删除 options 并将它们包含在 $('.inline-spinner').inlineSpinner(); 调用中,但这也产生了错误)-

$.widget('ui.inlineSpinner', $.ui.spinner, {
    options: {
        page: 10,
        spin: function(event, ui){
            if(ui.value > 99){
                $(this).spinner("value", 0);
                return false;
            } else if (ui.value < 0){
                $(this).spinner("value", 99);
                return false;
            }
        }
    }
    _format: function(value) { return value + 'px'; },
    _parse: function(value) { return parseInt(value); }
});
$('.inline-spinner').inlineSpinner();

【问题讨论】:

    标签: jquery widget spinner


    【解决方案1】:

    从字面上看,当我发布这个问题时,答案就在我脑海中浮现......

    我正在扩展spinner(并将其称为inlineSpinner),但我在spinner 上调用了“值”方法。我更改了有问题的电话,现在一切正常。

    $.widget('ui.inlineSpinner', $.ui.spinner, {
        options: {
            page: 10,
            spin: function(event, ui){
                if(ui.value > 99){
                    $(this).inlineSpinner("value", 0); // Changed this line
                    return false;
                } else if (ui.value < 0){
                    $(this).inlineSpinner("value", 99); // Changed this line
                    return false;
                }
            }
        },
        _format: function(value) { return value + 'px'; },
        _parse: function(value) { return parseInt(value); }
    });
    $('.inline-spinner').inlineSpinner();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-01
      • 2012-05-09
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      • 2019-01-06
      • 2015-06-15
      相关资源
      最近更新 更多