一段时间以来,我的屏幕键盘工作正常。
我最近不得不将jQuery添加到系统中,现在它不再工作了。按下按钮没有任何作用,因为按下按钮时文本输入不再具有焦点,我无法从我的 jscript 重新关注它。
输入 html(注意使用优秀的jq_watermark - 我需要 jQuery 的原因):
<input class="search jq_watermark" id="barcode" name="barcode" type="text" title="Please enter search criteria."/>
这是其中一个按钮的 html:
<td onclick="addChar('Q')"><button class="osk" id="Key_Q" value="Q">Q</button></td>
这是 addChar 脚本。请注意关注该领域的许多尝试,现在都失败了 jQuery 存在:
// The field the keyboard should edit.
field = document.forms['main'].elements.item('barcode');
function addChar(c) {
console.log("Char("+c+")");
field.focus();
if(field.maxLength == -1 || field.value.length < field.maxLength) {
// Handle different browsers.
if (field.selectionStart || field.selectionStart == '0') {
var start = field.value.substr(0,field.selectionStart);
var end = field.value.substr(field.selectionEnd,field.length);
field.value = start + c + end;
} else if (document.selection) {
field.focus();
var range = document.selection.createRange();
range.text = c;
range.moveStart('textedit',1);
range.select();
} else {
field.value = field.value + c;
}
field.focus();
}
return false;
}
我必须添加它以停止提交表单的按钮。我怀疑这是我需要放新东西的地方,但是对 jQuery 来说是新手,我不知道是什么:
$("button.osk").click(function(event){
// Stop it submitting in case the keyboard is inside a form.
event.preventDefault();
});
PS 我知道周围有整洁的 jQuery 弹出式键盘,我很想用他们的替换我的,但现在这不是一个选择。