我正在编写一个Firefox扩展来添加上下文菜单元素,我可以同时获取DOM元素和所选文本,但无法获得触发右键单击事件的未选择单词。我认为它必须是可能的,因为拼写检查器会这样做,或者是一个特殊的内置函数?
有什么想法吗?以下是获取其他两个代码的代码:
oncommand="if(gContextMenu.isTextSelected) rightClick(document.commandDispatcher.focusedWindow.getSelection().toString()); else rightClick(gContextMenu.target.innerHTML);"
答案 0 :(得分:2)
我不知道有一种超级简单的方法可以做到这一点。拼写检查器默认只在textarea元素中起作用(尽管它也可以修改为在输入字段中工作)。因此,该功能很可能封装在这些控件的内部代码中。
然而,我发现了一小段代码,声称在StackOverflow上的鼠标光标in an answer for another question下获得了这个词。它只是利用onmousemove事件来跟踪你的位置。
从可用性的角度来看,我个人认为最好强迫用户选择他们感兴趣的文本,然后对其进行操作。用于处理所选文本的内置功能已经存在(正如您所指出的那样),然后用户对他们所谈论的内容毫无疑问(尽管我猜这完全取决于您的最终目标)。