0

这真的很奇怪。

$(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 数据绑定。但我试图处理它无济于事。对此有什么想法吗?

4

1 回答 1

1

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

于 2014-07-07T15:52:53.553 回答