这个角色是什么" " JavaScript插入输入?

时间:2016-10-05 04:04:40

标签: javascript jquery html

已经解决 - 请参阅答案

我甚至无法识别这个角色,而在Chrome上它是不可见的,而在Firefox上它看起来像这样:this

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上打开堆栈,则该字符将替换为"�"

1 个答案:

答案 0 :(得分:0)

正如@Phil在我的问题的评论中指出的那样,我通过e使用e.which事件代替事件的keyCode char。

有了这个,我假设正在插入的字符是JS对象的表示。