我尝试创建像"虚拟"键盘,用于在文本框中输入一些特殊字符。以下实施在Chrome中正常运行,但在其他浏览器中无效。
如何修改它以在大多数浏览器(FF,IE,Chrome)中工作,并且在我需要多个输入字段的情况下还支持插入位置?
代码如下:
<html>
<head>
<style type="text/css">
.key {
padding: 10px;
margin: 0px;
background-color: #f3f3f3;
display: inline-block;
}
</style>
</head>
<body>
<form name="form1">
Text: <input type="text" name="field1"><br>
<br>
<a href="javascript:document.form1.field1.value=document.form1.field1.value+'Æ';return false;" class="key">Æ</a>
<a href="javascript:document.form1.field1.value=document.form1.field1.value+'ø';return false;" class="key">ø</a>
</form>
</body>
</html>
我也试过改变这个
<a href="javascript:document.form1.field1.value=document.form1.field1.value+'Æ';return false;" class="key">Æ</a>
到此:
<a href="javascript:document.forms("form1").field1.value=document.forms("form1").field1.value+'Æ';return false;" class="key">Æ</a>
答案 0 :(得分:1)
有很多不同的方法可以做到这一点,我附加了事件处理程序。我推荐JQuery .on()或.click()事件。另外,尽量不要使用内联JS,这是非常糟糕的做法。
var Key248Btn = document.getElementById('Key248Btn');
Key248Btn.addEventListener("click", Key248_Click, false);
function Key198_Click()
{
textEntryField.value += "\u00e6";
return false;
}