我正在使用jquery UI微调器,我想知道旋转是上升还是下降我尝试过使用:
$('#days').spinner({
min:0,
spin: function(event, ui){
console.log(ui.value);
$day = ui.value;
//Now here I want to detect if the event is up or down and perform
another function according to event type
}
)};
这是我的代码,但该事件并非特定于up或down 我想检测它是向上还是向下,以便我可以相应地执行这些事件。谢谢
答案 0 :(得分:2)
根据@Cerlin Boss的建议,您需要将旧的微调器值与新更改的值进行比较,
$("#days").spinner({
spin : function(event,ui){
//Gives Previous value
console.log($(this).val());
//Gives current value
console.log(ui.value);
if($(this).val()<ui.value){
console.log("Increment");
}else
console.log("decrement");
}
});
答案 1 :(得分:1)
//Class of spin Up button
$to_element = $(event.toElement).hasClass('ui-icon-triangle-1-n');
//SPIN UP if true else SPIN DOWN
if($to_element){
//ADD
}
else{
//Subtract
}
@ Cerlin Boss和@Runcorn我尝试了这个和它的工作,我应该使用这个还是作为你的答案?
答案 2 :(得分:1)
这取决于使用。最好的方法似乎是比较值,但可能存在使用字符串的情况。我需要在商店脚本流程中像“项目数:1&gt; 2&gt; 3&gt;个人定价”。在这种情况下,@ BulletProof47很棒,但它不适用于jQuery 2.1.4。我遇到了事件元素类的问题。我不得不把它改成:
if ($(event.currentTarget).hasClass('ui-spinner-down')) {
console.log('down');
return false;
}
if ($(event.currentTarget).hasClass('ui-spinner-up')) {
console.log('up');
return false;
}
PS:我只是回答帖子,但我还不能。你好,这是我的第一篇文章:)
答案 3 :(得分:0)
确定旋转方向比较ui.value和当前值。
//doc ready
$('#days').spinner({
min:0,
spin: function(event, ui){
var $operation = "none";//no operation happens when value of spinner is Zero
if($(this).val() != ui.value){
//overide
if( ui.value < $(this).val() ){
$operation = "down";
}else{
$operation = "up";
}
}
//just for UI
$('#operation').val($operation)
}
});
这是jsfiddle