用于
这样的页面如果用户双击页面中的任何单词,将弹出一个弹出框并显示该单词的定义。
我可以想到一种方法来使用DOM脚本分解页面中的所有单词,然后让它们中的每一个都在一个单独的“span”元素下...但是如果所有文本都不是这样的话在“p”元素下,然后触发“p”元素节点来处理双击事件,但没有简单的方法来告诉单击哪个单词?
答案 0 :(得分:16)
您只需向整个文档添加双击事件,如下所示:
function get_selection() {
var txt = '';
if (window.getSelection) {
txt = window.getSelection();
} else if (document.getSelection) {
txt = document.getSelection();
} else if (document.selection) {
txt = document.selection.createRange().text;
}
return txt;
}
$(document).dblclick(function(e) {
var t = get_selection();
alert(t);
});
如果您只希望这个用于选择段落,您可以将选择器更改为p.myclass
或类似的东西。这取决于双击一个单词在浏览器中突出显示的事实。说实话,不确定它是否与answers.com完全一致。
答案 1 :(得分:5)
在这里,一篇博客文章描述了如何使用jQuery执行此操作。他的测试实现类似于你想要的。即双击一个单词从字典中提取定义: