2012-07-17 114 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