我创建了一个自定义微调器,它在一个数字后附加一个字符串。
var percent = 5.5%;
$.widget("ui.pcntspinner", $.ui.spinner, {
_format: function(value){
return value + " %";
},
_parse: function(value){
return parseInt(value);
}
});
$("#spinner").pcntspinner().val(percent);
微调器附有两个事件,即聚焦和旋转。 focusout在第一次调用时工作正常,但旋转不会在第一次触发时触发。只有在触发任何其他事件后才会调用旋转。有什么想法解决这个问题吗?
答案 0 :(得分:1)
您正在扩展小部件,因此spin
无法完成您需要的工作_spin
$.widget("ui.pcntspinner", $.ui.spinner, {
_format: function(value){
return value + " %";
},
_parse: function(value){
return parseInt(value);
},
_spin: function( event, ui ) {
alert('value updated by :' + ui);
if(validation){
var result = this._super( event, ui );
return result; //<-- important for generic functionality
}else
{
//returning nothing would make value not change
}
}
});
答案 1 :(得分:0)
找到解决方案。我仍然不明白为什么旋转第一次没有被触发但这有助于 -
var percent = 5.5%;
$.widget("ui.pcntspinner", $.ui.spinner, {
widgetEventPrefix: "spin",
_format: function(value){
return value + " %";
},
_parse: function(value){
return parseInt(value);
}
});
$("#spinner").pcntspinner().val(percent);