2
在用戶按下CTRL + Home時的可滿足元素中,我試圖讓每個瀏覽器都將插入符位置移動到第一段的開頭。JavaScript:設置插入位置爲開頭的第一段(Opera bug)
讓我們假設整個頁面是可編輯的,除了剛纔的直接目標之外,我們沒有考慮任何其他內容。
這在Firefox,Safari和IE 10中工作正常,但Opera 12拒絕服從。這裏的代碼...
var s = window.getSelection();
if (e.ctrlKey && e.keyCode==36)
{
var p0 = document.getElementsByTagName('p')[0];
if (p0.firstChild.nodeName.toLowerCase()=='#text')
{//<p>text
var p = p0.firstChild;
}
else if (p0.firstChild.firstChild.nodeName.toLowerCase()=='#text')
{//<p><em>text
var p = p0.firstChild.firstChild;
}
if (typeof p=='object')
{
s.getRangeAt(0).setStart(p,0);
s.getRangeAt(0).setEnd(p,0);
s.collapseToStart();
}
}
不要編輯我的帖子,如果你不明白的東西評論,我會很樂意澄清。
[上my.opera.com並行線程](http://my.opera.com/community/forums/topic.dml?id=1449662)。 – ricksmt