javascript – 如何点击或双击网页上的单词以触发事件处理程序?

一个页面

http://www.answers.com

如果用户双击页面中的任何单词,弹出框将显示显示该单词的定义.

我可以想到一种方法来使用DOM脚本来分​​解页面中的所有单词,然后使它们中的每一个都在一个单独的“span”元素之下,但否则不是真的,如果所有的文本都在“p”元素,那么“p”元素节点被触发来处理双击事件,但是没有简单的方法来告诉哪个单词被点击?

解决方法

您只需将一个双击事件添加到整个文档中,如下所示:
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或类似的东西.这取决于双击一个单词突出显示在浏览器中的事实.不知道如何answer.com这样做,说实话.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...