javascript - 通过 Ajax 更新 textarea 的设置 SelectionStart 属性导致 IE 中出现错误 800a025e

标签 javascript ajax internet-explorer selection-api

我正在尝试使用“selectionStart”属性在文本区域中设置光标位置。但在执行“element.selectionStart = 6”行时,IE [9/10/11] 给出错误“由于错误 800a025e,无法完成操作”。

if (typeof element.selectionStart !== 'undefined') {
    element.selectionStart = aCursorPosition;
    element.selectionEnd = aCursorPosition;
}

我尝试在此行之前放置一个调试点,并尝试添加一个监视表达式,该表达式将“selectionStart”设置为“0”,但是这会导致相同的错误。

所关注的文本区域是加载 View Ajax 响应。当文本区域正常渲染时,同一段代码可以正常工作。

知道如何解决这个问题吗?

最佳答案

通过重置焦点解决了这个问题。在尝试设置光标位置之前,我将焦点设置为textarea,但似乎当textarea通过Ajax更新时,这样做是不够的。

我添加了代码以将焦点设置为最近的 anchor 标记之一,并再次将焦点设置回文本区域[我必须执行两次[焦点重置]才能使其工作]。这似乎解决了我的问题。

下面给出的帖子和链接有助于深入了解该问题。

Stack Overflow Post

ascadnetworks link

CK Editor Ticket

关于javascript - 通过 Ajax 更新 textarea 的设置 SelectionStart 属性导致 IE 中出现错误 800a025e,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25051558/

相关文章:

javascript - 在 Microsoft Dynamics CRM 2011 中获取加载的描述内容

JavaScript 不读取文本框值

jquery - 基于 GUI 或基于 Web 的 JSON 编辑器,类似于属性浏览器

javascript - 使用 ajax 时数据表搜索输入的 Keyup 事件不会触发

javascript - Mootools 事件导致 IE7/IE8 无限循环

javascript - 结合tinywatermark和jquery ui datepicker插件

javascript - 根据 div 内图像的数组长度

javascript - jQuery.ajax 在 ie 中使用 'delete' 方法的问题

html - Internet Explorer 的 Flexbox 布局问题

JavaScript 错误 : "Expected identifier, string or number" in IE