JQuery移动和ASCII字符输入文本


JQuery mobile and ASCII characters in input text

我在使用jQuery Mobile/PHP开发的web应用程序中遇到了这个问题

  • 该应用程序旨在在平板电脑上使用,如iPad,通过平板电脑浏览器

  • 在我的应用程序中,我有一个内置的jQuery移动表单与一些文本和一个文本区域字段

  • 在文本区字段中,我还需要插入通常在桌面pc上使用Alt+ASCII码(例如Alt+157, Alt+225, Alt+0177)编写的特殊字符

  • 在iPad上,我没有找到一种方法来点击虚拟平板电脑上的Alt+ASCII码,所以我想添加到我的形式一些按钮,一个为我需要的每个特殊字符,当点击传递到文本区域的Alt+ASCII码组合。这可能吗?如果是,怎么可能?

  • 当表单将被提交,然后字段的内容将被存储到Mysql数据库…但这不是问题

非常感谢,马特

我以前也遇到过类似的问题。我不认为你可以依靠模拟keypress(这是我认为你正在尝试做的)。如果不受信任,keypress将不会发生,并且指定要模拟的密钥可能在某些浏览器上不起作用。但是,这是如何实现的。

$("button").click( function() {
  var e = jQuery.Event("keydown");
  e.which = 50; 
  $("textarea").trigger(e);
});

但是,这在Chrome上不起作用。所以我建议你试着通过代码注入值。我为你设置了一个小提琴来应付目前的情况。这里是标记

 <textarea></textarea>
 <button class="special" data-char="~">Insert tilde</button>

和JS

$(".special").click(function () {
  var char = $(this).data("char");
  $("textarea").val(function () {
      return this.value + char;
  });

});

和演示 http://jsfiddle.net/hungerpain/8qs2G/