javascript - 为什么IE 8让这个JS的光标跳到textarea的末尾?

标签 javascript internet-explorer textarea text-cursor

http://jsfiddle.net/tYXTX/

在 Firefox 中,使用上面的脚本(包括在下面的内联),您可以通过单击字符串中间并键入,或使用键盘后退键(和 ctrl+左箭头)随时编辑文本区域的内容.

在IE中,光标总是跳到末尾。为什么会这样,我该如何预防?


HTML:

<textarea id="bob" name="bob">Some textarea content</textarea>
<div id="debug"></div>

JS:

$(document).ready(function(){
    $("#bob").keyup(function(){
        $("#bob").val($("#bob").val().substring(0,160));
        $("#debug").append("\n+");
    }); 
});

最佳答案

而不是使用 substring() chop $("#bob")每次,只有当文本长度大于160时才这样做:

$(document).ready(function(){
    var oldtext = $("#bob").val();

    $("#bob").keyup(function(){
        if( $("#bob").val().length > 160 )
            $("#bob").val(oldtext);
        else
            oldtext = $("#bob").val();

        $("#debug").append("\n+");
    });
});

在 IE 中,每当 <textarea>被修改,光标会跳转到末尾。

关于javascript - 为什么IE 8让这个JS的光标跳到textarea的末尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6899047/

相关文章:

javascript - NodeList对象的length属性只读,如何验证?

javascript - 检测浏览器是否为 IE 7 或更低版本?

javascript - 资源管理器中 getElementById 的 JS 问题

javascript - 在 html/css 中将 Textarea 添加到上一个 textarea 的右边

javascript - getElementById() 没有返回正确的字符串

javascript - jQuery 动画页面滚动上的 Div 边距

javascript - 从选择列表数组中获取jquery中的选择列表id和值

Javascript 对象的属性忘记值

html - IE9 错误中的 Z-index

javascript - &lt;textarea&gt; 调整字体大小问题 IE 10