Javascript 双击div、p、span时如何获取所选单词?

Javascript 双击div、p、span时如何获取所选单词?,javascript,selection,html,Javascript,Selection,Html,你能得到用户双击的单词吗?我在onDblClick事件处理程序中进行了尝试,但selectionStart在那里没有定义;onselect事件似乎只对TextArea可用。您可以在IE中使用document.selection.createRange().text,在firefox和webkit中使用window.getSelection().toString(),然后像这样附加到ondblclick处理程序: document.ondblclick = function () { var

你能得到用户双击的单词吗?我在onDblClick事件处理程序中进行了尝试,但selectionStart在那里没有定义;onselect事件似乎只对TextArea可用。

您可以在IE中使用
document.selection.createRange().text
,在firefox和webkit中使用
window.getSelection().toString()
,然后像这样附加到
ondblclick
处理程序:

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

  • ,用于
    文档。选择
  • ,用于
    window.getSelection()

我能做到这一点的唯一方法是将每个单词都用自己的篇幅包装起来。当你右键点击时,雅虎知道突出显示哪个词。在IE中,加速器也知道突出显示的单词。它们是否连接到javascript/DOM层下方的浏览器,连接到某个API?即Firefox上下文菜单上的Yahoo搜索。