获取有关jquery中单击事件的段落中的当前单词

我正在尝试构建一个允许人们获取单词或短语(在选择中)的工具,选择部分已完成,但不是单词部分.

当有人点击一个单词时,我需要能够得到当前的单词,我找到了这个解决方

get word click in paragraphs

不幸的是,此代码更改了所有单词并添加了< span>因为我不能在文本中添加html标签(css文件可以导入或动态添加),因此每个单词都会导致我的问题.

如果可能的话,是否有更好的方法来实现这一目标?

EX:

Lorem ipsum dolor sit amet,consectetur adipiscing elit. Donec auctor
ante sit amet nisl consequat volutpat.

如果我点击“坐”,那么我会提醒’坐’

解决方法

那么,对于您的解决方案,您将需要使用选择和双击事件作为一个棘手的事情,并通过doubleclick事件获取生成的范围中的选定单词.

如果您不想引入新标签,则没有其他办法.

尝试这个:

现场演示:http://jsfiddle.net/oscarj24/5D4d3/

$(document).ready(function() {

    /* set hand cursor to let know the user that this area is clickable */
    var p = $('p');
    p.css({ cursor: 'pointer' });

    /* doubleclick event working with ranges */
    p.dblclick(function(e) {
        var selection = window.getSelection() || document.getSelection() || document.selection.createRange();
        var word = $.trim(selection.toString());
        if(word != '') {
            alert(word);
        }
        /* use this if firefox: selection.collapse(selection.anchorNode,selection.anchorOffset); */
        selection.collapse();
        e.stopPropagation();
    });

});​

希望这可以帮助 :-)

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...