Jquery通过按钮自动更改聚焦文本框

时间:2014-04-08 09:08:18

标签: javascript jquery mobile-safari

我正在创建一个系统,其中将有一个太平洋移动视图。通过此按钮,您可以按下3个按钮中的一个按钮,它将模拟键盘上的按键操作。  目前,对于桌面版本,焦点框的更改如下:

$('.today').keydown(function(e) {
    if ($.inArray(e.keyCode, [69, 88, 191, 8, 40, 38]) === -1) { // 8 is backspace
        e.preventDefault();
    }
});
$('.today').keyup(function(e) {
  if ($.inArray(e.keyCode, [69, 88, 191, 8, 40, 38]) === -1) { // e, x, / respectively // don't print the character
    return false;
 }
  var self = $(this);
    var currentInput = self.data('number');
    var next = $(currentInput + 1);
    var previous = $(currentInput - 1);
    var keyCode = e.keyCode || e.which;
    var num = self.data('number') + 1;
    var nom = self.data('number') - 1;
    if(('input.today[data-number="' + num +'"]').length && keyCode === 40)
        $('input.today[data-number="' + num +'"]').focus()
    else if(('input.today[data-number="' + nom +'"]').length && keyCode === 38)
        $('input.today[data-number="' + nom +'"]').focus();
    else if(('input.today[data-number="' + num +'"]').length && self.val().length == self.attr('size')) {
       $('input.today[data-number="' + num +'"]').focus();
    }
});

对于按钮我有这段代码:

$("button").click(function() {
     $(".today").focus();
    var e = jQuery.Event("keydown");
    e.which = 47; // # Some key code value
    $("input").val(String.fromCharCode(e.which));
    $("input").trigger(e);
});
$('input').keypress(function(e){
   console.log('Yes keydown triggered. ' + e.which)
});

这将填充文本框,它将更改为下一个,但是当我按下它时将重点关注原始...任何想法。

1 个答案:

答案 0 :(得分:0)

$(".today").focus();

建议您使用类作为标识符,您的ID是否唯一?