2010-02-17 44 views
6

你可以得到用戶雙擊的單詞嗎?我試過onDblClick事件處理程序,但selectionStart在此處未定義; onselect事件似乎只適用於TextArea。雙擊div,p,span時如何獲取選定的單詞?

+1

我一直能夠做到這一點的唯一方法是將每個單詞都包裝在自己的SPAN中。雅虎知道你右鍵單擊時突出顯示的單詞。在IE中,加速器也知道突出顯示的單詞。這些連接到瀏覽器的JavaScript/DOM層下面,到一些API? – Tim

+0

即在Firefox的上下文菜單中的Yahoo Search。 – Tim

回答

8

您可以在Firefox和WebKit使用IE document.selection.createRange().textwindow.getSelection().toString(),並附着在ondblclick處理,像這樣:

document.ondblclick = function() { 
    var sel = (document.selection && document.selection.createRange().text) || 
      (window.getSelection && window.getSelection().toString()); 
    alert(sel); 
}; 

參考

  • MSDN,爲document.selection
  • MDN,對於window.getSelection()
相關問題