2011-09-23 77 views

回答

4

這裏有一個功能來做到這一點。傳入對元素的引用。

現場演示:http://jsfiddle.net/aLP26/

代碼:

function moveCursorToStart(iframeEl) { 
    var win = iframeEl.contentWindow || iframeEl.contentDocument.defaultView; 
    var doc = win.document; 
    if (win.getSelection && doc.createRange) { 
     var sel = win.getSelection(); 
     var range = doc.createRange(); 
     range.selectNodeContents(doc.body); 
     range.collapse(true); 
     sel.removeAllRanges(); 
     sel.addRange(range); 
    } else if (doc.selection && doc.body.createTextRange) { 
     var textRange = doc.body.createTextRange(); 
     textRange.collapse(true); 
     textRange.select(); 
    } 
} 
+0

謝謝,整潔!你對這些範圍有完整的指導嗎? – Jauzsika

+1

@Jauzsika:不是。我在這方面寫了很多答案,並且爲Rangy圖書館(http://code.google.com/p/rangy/)記錄了範圍和選擇方法。我希望能在一段時間內寫出更長的指南。 MDN並不壞:https://developer.mozilla.org/En/DOM:range和https://developer.mozilla.org/En/DOM:Selection。 TextRange文檔在MSDN上:http://msdn.microsoft.com/en-us/library/ms533042%28v=vs.85%29.aspx和http://msdn.microsoft.com/en-us/library/ms535872 %28v = vs.85%29.aspx –

+0

謝謝,檢查Rangy! – Jauzsika