在IE上,光标始终在textarea中开始

时间:2010-04-27 10:22:39

标签: javascript jquery

我正在处理textarea,点击这个我调用一个替换函数,它将删除textarea中的一些指定字符串,这是基本操作。

点击textarea后的预期行为

1)首先点击:

  • 应该从textarea中删除指定的字符串
  • 光标应位于字符串的末尾

2)多次点击: - 光标应该出现在用户在文本区域中单击的位置

以下是我的替换功能....

function replace(id,transFromDb) {
    newStr = $("#"+id).val();
 var len = null;
  if(transFromDb == '') {
   newStr = newStr.replace(Lang.Message27,'');
   newStr = newStr.replace(Lang.Message28,'');

  }
  else {
   newStr = newStr.replace(Lang.Message28,'');
   newStr = newStr.replace(Lang.Message27,'');
  }

  /* change font weight as bold. */
  $("#"+id).css({"fontWeight":"bold"});
  $("#"+id).val(newStr);
}

假设Lang.Message是指定的字符串。

它正在使用FF的行为。 面对IE上的问题,它始终保持光标位置。

请提供任何解决方案......

感谢Adavance 普拉

1 个答案:

答案 0 :(得分:0)

$("#idOfTextarea").focus(function() {
  replace($(this).attr("id"), "");
});

我不确定替换的第二个参数是什么,所以我只是放入一个空字符串,你必须自己填写。

将光标移动到textarea here的末尾有简洁明了的代码。