0

我有一個標籤,我設置onfocus此就可以了:如何在文本計算抵消DblClick事件在Javascript

<label ondblclick="foo(event);" 
style="white-space: pre; font-family: Monospace; font-size: 12px;"> 
lot's of text here blah blah blah and more... 

我得到的回調JavaScript函數雙擊文本單詞時。

我想知道選擇文本中有多少個字符。

我可以使用類似拿到選擇本身:

(window.getSelection && window.getSelection().toString()) 

,當然我有textnode本身,所以我有文本作爲一個整體。

但選擇可以出現在文本節點很多次 - 我需要知道從角色的角度偏移。例如,如果用戶雙擊blah,我想知道它是哪一個。

我能在事件發現各種X,Y座標看起來像像素我 - 但我有兩個滾動條,格式等,因此,在計算字符從像素偏移將是非常非常困難的。

事件數據的地方是該信息或者是有某種方式計算這個代碼?

任何幫助非常感謝。

回答

1

如果選擇了標籤節點內開始,()由window.getSelection返回的對象應該有一個anchorOffset屬性,你想要的東西,讓你。

window.getSelection().anchorOffset 

雖然我不確定跨瀏覽器兼容性。舉個例子,看到這個JSFiddle:

http://jsfiddle.net/Lx5D2/

+0

完美;像魅力一樣工作 - 非常感謝! –