【问题标题】:jQuery Knob displays NaN when value is 0当值为 0 时,jQuery Knob 显示 NaN
【发布时间】:2014-07-07 15:26:03
【问题描述】:

真的很奇怪。

$(function(){
    $('.dial').knob({
       return value + '%';
    });
});

这是我让百分号显示的原始代码,效果很好。出于某种原因,当值为 0 时,在页面加载时它显示为 NaN。奇怪的是,只有当您突出显示文本然后单击关闭时,它才会显示实际值 0(替换 NaN 值)。知道是什么导致这种情况发生吗?我尝试在格式挂钩中处理它:

$(function(){
    $('.dial').knob({
       'format': function( value ){
           if(value == undefined || value == NaN {
             value = 0; 
             return value + '%';
           }
           else{
             return value + '%';
           }
        } 
    });
});

还是不行。我在控制台记录了我传入的值,果然它是 0。我认为它可能是“x 在 y 之前加载”,因此它认为该值是未定义的,因为我通过传递 value 属性angularJS 数据绑定。但我试图处理它无济于事。有什么想法吗?

【问题讨论】:

  • 您确定您的条件检查工作正常吗?我总是使用 if(typeof(value) == 'undefined'... 。可能值得一试。
  • 我会尝试并告诉你。
  • 另外,在 Firebug 或类似工具中调试它会告诉你到底发生了什么。
  • 还是不行。我开始越来越多地认为这是在我的角度数据绑定之前加载 jQuery 旋钮的问题。而且我认为“格式”钩子除了在值上附加一些东西之外不能做任何处理,因为条件检查没有做任何事情。
  • value == NaN 将不起作用,因为令人惊讶的是,在 javascript 中 NaN 不等于 NaN。试试isNaN()developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…

标签: javascript jquery angularjs jquery-knob


【解决方案1】:

value == NaN 将不起作用,因为令人惊讶的是,在 javascript 中 NaN 不等于 NaN。试试isNaN()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    • 1970-01-01
    • 2021-12-20
    相关资源
    最近更新 更多