日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

已補(bǔ)全 IE6,IE7,IE8下使用Javascript記錄光標(biāo)選中范圍( 二 )


代碼如下
復(fù)制代碼 代碼如下:
head
script
function mark() {
var selection=document.selection.createRange();
if(selection.text.length==0){
return;
}
var textLength=event.srcElement.innerText.length;
var oldSelectionParent=selection.parentElement();
do{
selection.moveEnd("character",1);
}while(selection.parentElement()==oldSelectionParent);
selection.moveEnd("character",-1);
alert(textLength - selection.text.length);
}
function load(){
document.body.onmouseup=mark;
//document.body.onmousedown=mark;
}
/script
/head
body onload="load()"
div 飛 a a a a 飛飛飛飛飛a飛 a a a /div
/body

原理就是利用在一個(gè)節(jié)點(diǎn)內(nèi)部,不斷偏移1個(gè)字符,到底部或者頂部,計(jì)算偏移量的方法,因?yàn)閷?duì)于單個(gè)元素內(nèi)的熱區(qū),他的parentElement()返回就是他自己,如果跨多個(gè)節(jié)點(diǎn),之后,返回的parentNode就是他自己的父節(jié)點(diǎn)了,可以通過這個(gè)變化,判斷,是否移動(dòng)到該節(jié)點(diǎn)文本的盡頭 。^_^這樣就可以計(jì)算偏移量了




ok,總結(jié),通過htmlText的屬性可以解決多節(jié)點(diǎn)選中熱區(qū)的定位問題,對(duì)于單節(jié)點(diǎn)內(nèi)部重復(fù)字符,可以通過文中最后一部分代碼解決,這樣在IE下,記錄光標(biāo)選中位置,和復(fù)現(xiàn)的方法就完美了^_^


============================================

去kissy群?jiǎn)柫讼?,原來承玉已?jīng)做過全兼容的取位置的代碼,鏈接如下
http://www.jb51.net/article/28120.htm
代碼:http://lite-ext.googlecode.com/svn/trunk/lite-ext/playground/range/ie.html
您可能感興趣的文章:javascript仿百度輸入框提示自動(dòng)下拉補(bǔ)全JSPajax實(shí)現(xiàn)輸入框自動(dòng)補(bǔ)全功能 實(shí)例代碼js自動(dòng)閉合html標(biāo)簽(自動(dòng)補(bǔ)全html標(biāo)記)JS數(shù)組排序方法實(shí)例分析javascript數(shù)組去重方法分析JavaScript常見的五種數(shù)組去重的方式j(luò)avascript中數(shù)組(Array)對(duì)象和字符串(String)對(duì)象的常用方法總結(jié)JavaScript利用正則表達(dá)式替換字符串中的內(nèi)容JS經(jīng)典正則表達(dá)式筆試題匯總Ajax遍歷jSon后對(duì)每一條數(shù)據(jù)進(jìn)行相應(yīng)的修改和刪除(代碼分享)遍歷js中對(duì)象的屬性和值的實(shí)例JS限制條件補(bǔ)全問題實(shí)例分析

推薦閱讀