2013-09-18 2 views
-3

Есть ли способ инвертировать шагомер номер HTML5, чтобы нажатие клавиши делало число больше и наоборот?Invert number stepper

Для решения любых вопросов «почему?» комментарии: Талисман в спорте, например, в крикет или бейсбол. Если вы переместите на, ваше положение ватин станет больше.

+0

Прикрепите прослушиватель событий, который изменяет '.val()' ввода в результате кода ключа, а затем увеличит его на основе шага элемента. –

+0

Я думаю, что это все равно будет контр-интуитивно понятным для пользователей, но если вы действительно этого захотите, используйте прослушиватель ключевых событий JavaScript и 'preventDefault'. – Dave

+0

@ EricHotinger У меня очень мелкое понимание javascript, поэтому вам придется объяснять более подробно. – cameronjonesweb

ответ

1

Вот быстрый метод, который использует JQuery (так как ваш образец использовал его):

$(document).ready(function(){ 
    var step=$('#batpos1'); 
    var o=+step.val(); 
    step.change(function(){ 
     var n=+step.val(); 
     if(n===o+1){ 
      --o; 
     }else if(n===o-1){ 
      ++o; 
     }else{ 
      o=n; 
     } 
     step.val(o); 
    }); 
}); 

Обратите внимание, что он также будет применяться к клавиатуре стрелки прессах, но также будет применяться, когда данные вводятся вручную. Прямо сейчас я не уверен, как этого избежать, но я обновлю, если найду решение. Грубым вариантом было бы прослушивание кликов и применять его только в том случае, если оно изменяется в пределах ± 0,05 секунд щелчка или что-то в этом роде.

+0

(скрипка: http://jsfiddle.net/Syy6R/1/) – Dave

+0

- * также применяется, когда данные вводятся вручную * Что вы имеете в виду? – cameronjonesweb

+0

введите в 1 и нажмите enter. он изменится на -1 – Dave