我在Jquery中有这个代码 - :
function setCaretPos(element) {
element.focus();
if(typeof window.getSelection != "undefined" && typeof document.createRange
!= "undefined")
{
var range = document.createRange();
referenceNode = element.getElementsByClassName("prettyTag")[0].nextSibling;
range.selectNode(referenceNode); range.collapse(true);
var sel = window.getSelection();
sel.removeAllRanges(); sel.addRange(range);
}
当我这样做时,setCaretPos
功能起作用 - :
setCaretPos(document.getElementById("editor"));
但是当我这样做时不起作用 - :
var element = $("#editor"); setCaretPos(element)
;
我只能选择后者。我如何纠正后者。谢谢.. :))
答案 0 :(得分:4)
$('#editor')
是一个jQuery对象,但你的javascript需要一个DOM对象。 jQuery对象不与DOM对象相同。
尝试$('#editor').get(0)
答案 1 :(得分:2)
试试这个:
var element = $("#editor")[0]; setCaretPos(element);
答案 2 :(得分:1)
尝试从JQuery Element指向DOMNode:
var element = $("#editor"); setCaretPos(element[0]);
答案 3 :(得分:1)