2012-07-17 74 views
1

如何使用jQuery来检测click事件为双击?基本上,我希望.select类中的文本更易于选择,以便用户可以快速将内容复制到剪贴板。jQuery:有没有办法将'点击'事件变成双击?

<li> 
    <span> 
     Don't Select me 
    </span> 
    <span> 
     Don't Select me 
    </span> 
    <span class="select"> 
     Select Me on click! 
    </span> 
</li> 
+0

这里是没有jquery的类似的问题:http://stackoverflow.com/questions/1173194/select-all-div单击鼠标单击 – lcoronelp 2012-07-17 01:33:56

+0

[jQuery:选择元素中的文本(类似于使用鼠标突出显示)]的可能重复](http://stackoverflow.com/questions/985272/jquery-selecting-text-与鼠标突出显示的元素相同) – 2012-07-17 01:54:35

+0

所有链接的重复可能性仅为ID选择的元素提供解决方案。这个问题(和解决方案)用于突出显示Class选定的项目。 – nipponese 2012-07-17 20:34:54

回答

1

试试这个

function SelectText(element) { 
    var doc = document; 
    var text = doc.getElementById(element);  
    if (doc.body.createTextRange) { 
     var range = document.body.createTextRange(); 
     range.moveToElementText(text); 
     range.select(); 
    } else if (window.getSelection) { 
     var selection = window.getSelection();   
     var range = document.createRange(); 
     range.selectNodeContents(text); 
     selection.removeAllRanges(); 
     selection.addRange(range); 
    } 
} 

$(function() { 
    $('.select').click(function() { 
     SelectText('selectme'); 
    }); 
});​ 

https://stackoverflow.com/a/987376/1330581

获得实施例http://jsfiddle.net/edelman/KcX6A/339/


更新:

选择相同的点击的元素的含量:

function SelectText(element) { 
    var doc = document; 
    var text = element;  
    if (doc.body.createTextRange) { 
     var range = document.body.createTextRange(); 
     range.moveToElementText(text); 
     range.select(); 
    } else if (window.getSelection) { 
     var selection = window.getSelection();   
     var range = document.createRange(); 
     range.selectNodeContents(text); 
     selection.removeAllRanges(); 
     selection.addRange(range); 
    } 
} 

$(function() { 
    $('.select').click(function() { 
     SelectText($(this)[0]); //Brackets are more efficiently that .get(0) method 
    }); 
});​ 

的例子:http://jsfiddle.net/qBaWf/

+0

我不明白为什么我得到'未捕获的SyntaxError:意外的令牌ILLEGAL'上的点击事件,当我把它放到我的脚本标记... – nipponese 2012-07-17 16:48:53

+0

没想到,这是一个问题从小提琴复制和粘贴打掉!)。更多在这里:http://stackoverflow.com/questions/4404526/unexpected-token-illegal-in-webkit – nipponese 2012-07-17 16:51:26

+0

有没有一种方法来选择按类而不是元素?我有20个这样的跨度堆叠在一起,我希望他们都可以选择。 – nipponese 2012-07-17 16:59:48

相关问题