0

我使用jQuery虚拟键盘,但是当我点击密码字段几次键盘向下滑动时发现问题,我检查了css并没有找到解决方案。有人有想法吗?

这是链接:

http://www.devcurry.com/2010/12/jquery-virtual-keyboard-with-qwerty.html

谢谢你。

4

1 回答 1

1

我试过在这个小提琴中使用它,它可以工作http://jsfiddle.net/TUAHC/。主要区别在于我使用了最新版本的 jQuery 1.8.2,而不是您发布的演示中使用的 1.4.4 版本。升级 jQuery 版本似乎可以解决这个问题。

编辑

插件中使用的 jQuery UI Position 实用程序似乎存在问题,每次文本输入聚焦时都会调用该实用程序,并且它似乎仅在父元素上有填充/边距时才表现出来。修复它的一种方法是修改插件并将插件的定位代码移到焦点事件处理程序之外。所以找到这段代码(在插件 js 文件的第 141 行附近):

element.focus(function() {
  var element = jQuery(this)
  jQuery('.ui-keyboard').hide();
  previewInput.val(element.val());

  keyboard.position({
    of: element,
    my: "left top",
    at: "left top",
    collision: "fit",
  }).show();

  previewInput.scrollTop(previewInput.attr('scrollHeight')).focus();
});

并将代码更改为:

keyboard.position({
  of: element,
  my: "left top",
  at: "left top",
  collision: "fit",
});

element.focus(function() {
  var element = jQuery(this)
  jQuery('.ui-keyboard').hide();
  previewInput.val(element.val());

  keyboard.show();

  previewInput.scrollTop(previewInput.attr('scrollHeight')).focus();
});

这似乎在我的测试http://jsfiddle.net/TUAHC/2/中起到了作用。

于 2012-10-05T22:21:08.007 回答