如果使用虚拟键盘,Jquery 如何在输入字段中获取值

Posted

技术标签:

【中文标题】如果使用虚拟键盘,Jquery 如何在输入字段中获取值【英文标题】:How Jquery can get value in input field if using virtual keyboard 【发布时间】:2016-08-04 09:47:17 【问题描述】:

我被问了 3 次,没有答案。 请有人可以告诉我,如果使用 Mottie Virtual Keyboard 或 JKeyboard(由 Jquery 制造)等虚拟键盘输入,jquery 或 javascript 如何获取输入表单的值。谢谢

【问题讨论】:

您是在尝试检测变化还是只想随时获取价值? 任何点老兄。例如,我尝试在 textarea 中添加 maxlength,但如果使用虚拟键盘则无法正常工作。 jsfiddle,其实我只是想在textarea里加一个maxlength,但是用虚拟键盘的时候不行@metal03326 获取长度与最大长度没有任何关系。两个键盘都使用编程方式将值设置为输入,因此 maxlength 不起作用。如果他们不支持它,您可以尝试修改他们的代码(丑陋),请求勾选以添加对它的支持(慢)或执行某种外部代码来解决问题(再次丑陋)。 【参考方案1】:

如果您使用的是 jkeyboard,您可以使用 on click at keyboard 。 这是小提琴https://jsfiddle.net/ashisha/okvo7rak/

  $('#keyboard').on("click", function (e) 
  alert($("#search_field").val())
  ) 

【讨论】:

好吧,其实我要的是加属性maxlength 兄弟,可以教教我吗? 文本区域在哪里? 在输入字段老兄 我用jkeyboard做虚拟键盘 你想防止在某个数字之后输入吗?【参考方案2】:

试试这个代码 (demo)

var $input = $('#search_field'),
  maxLength = 10;

$('#keyboard').jkeyboard(
  layout: "azeri",
  input: $input
);

$('.jkey').on("click", function(e) 
  var val = $input.val();
  if (val.length > maxLength) 
    $input.val(val.substring(0, maxLength));
  
);

【讨论】:

以上是关于如果使用虚拟键盘,Jquery 如何在输入字段中获取值的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 虚拟键盘 - 设置左箭头和右箭头

虚拟键盘 jquery 在引导模式中显示不正确

如何使用虚拟键盘写入焦点输入?

JQuery Mobile:单击文本字段时如何禁用默认键盘?

为输入字段设置值不会影响 Safari 中的虚拟键盘

如何显示被虚拟键盘隐藏的文本字段?