我正在尝试使用“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 标记之一,并再次将焦点设置回文本区域[我必须执行两次[焦点重置]才能使其工作]。这似乎解决了我的问题。
下面给出的帖子和链接有助于深入了解该问题。
关于javascript - 通过 Ajax 更新 textarea 的设置 SelectionStart 属性导致 IE 中出现错误 800a025e,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25051558/