我在使用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/