Javascript placeCaretAtEnd在Firefox中似乎不起作用

Javascript placeCaretAtEnd在Firefox中似乎不起作用,javascript,Javascript,我有一个内容可编辑的DIV,其中包含一个带有文本的p标记,我正在使用placeCaretAtEnd将插入符号定位在p标记内内容的末尾。除了Firefox(v32.0.3)之外,这似乎适用于所有浏览器。在这一点上,插入符号似乎消失了 据我所知,placeCaretAtEnd JS函数应该与Firefox完全兼容。知道为什么在这种情况下不起作用吗 工作示例: 示例文本。示例文本 $(“#按钮”).bind('click',function(){ placeCaretAtEnd(document.g

我有一个内容可编辑的DIV,其中包含一个带有文本的p标记,我正在使用placeCaretAtEnd将插入符号定位在p标记内内容的末尾。除了Firefox(v32.0.3)之外,这似乎适用于所有浏览器。在这一点上,插入符号似乎消失了

据我所知,placeCaretAtEnd JS函数应该与Firefox完全兼容。知道为什么在这种情况下不起作用吗

工作示例:


示例文本。示例文本

$(“#按钮”).bind('click',function(){ placeCaretAtEnd(document.getElementById('段落')) }); 函数placeCaretAtEnd(el){ el.focus(); if(typeof window.getSelection!=“未定义” &&typeof document.createRange!=“未定义”){ var range=document.createRange(); 范围。选择节点内容(el); 范围。塌陷(假); var sel=window.getSelection(); 选择removeAllRanges(); 选择添加范围(范围); }else if(typeof document.body.createTextRange!=“未定义”){ var textRange=document.body.createTextRange(); textRange.moveToElementText(el); textRange.collapse(false); textRange.select(); } }
我解决了这个问题,将光标放在contenteditable div中,然后使用placeCaratand函数移动光标

首先,我给了那个部门一个身份证,这样就不会有混乱了

$('#button').bind('click', function() {
    $('div#id').focus();
    placeCaretAtEnd(document.getElementById('paragraph'))
});
我一直在搜索,虽然我知道这有点像黑客,但这是一个解决方案

$('#button').bind('click', function() {
    $('div#id').focus();
    placeCaretAtEnd(document.getElementById('paragraph'))
});