已经解决 - 请参阅答案
我甚至无法识别这个角色,而在Chrome上它是不可见的,而在Firefox上它看起来像这样:
当on.keydown
我将输入淡入视图并插入按下的字母数字字符时,将此字符插入HTML输入字段,并将光标设置为字母数字字符后。
执行此操作的主要代码是
$searchtext.val(String.fromCharCode(e).toLowerCase())
.setCursorPosition($searchtext.val().length);
$search.fadeIn(200);
e
中的{p> fromCharCode(e)
被keyChar
按下并作为参数传递给JS函数(如果有帮助我可以显示整个代码,但我不认为问题发生在其他地方,但代码块。)
setCurrentPosition()
是这样的函数:
// extending the jQuery prototype with setCursorPosition
$.fn.setCursorPosition = function(pos) {
this.each(function(index, elem) {
if (elem.setSelectionRange) {
elem.setSelectionRange(pos, pos);
} else if (elem.createTextRange) {
var range = elem.createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
});
return this;
};
修改 正如您在问题标题中看到的那样,角色甚至无法在Stack上使用。当我将它在Firefox中复制粘贴到堆栈问题中时,它会出现,但直到我保存。如果我将问题保留为草稿并在Chrome上打开堆栈,则该字符将替换为"�"
答案 0 :(得分:0)
正如@Phil在我的问题的评论中指出的那样,我通过e
使用e.which
事件代替事件的keyCode char。
有了这个,我假设正在插入的字符是JS对象的表示。