JavaScript 選中文字并響應(yīng)獲取的實(shí)現(xiàn)代碼
select(document, tanchu);
/*=select[[
*
* 跨瀏覽器選中文字事件
* @param
* object o 響應(yīng)選中事件的DOM對(duì)象,required
* function fn(sText,target,mouseP)選中文字非空時(shí)的回調(diào)函數(shù),required
* |-@param
* |-sText 選中的文字內(nèi)容
* |-target 觸發(fā)mouseup事件的元素
* |-mouseP 觸發(fā)mouseup事件時(shí)鼠標(biāo)坐標(biāo)
*/
function select(o, fn){
o.onmouseup = function(e){
var event = window.event || e;
var target = event.srcElement ? event.srcElement : event.target;
if (/input|textarea/i.test(target.tagName) && /firefox/i.test(navigator.userAgent)) {
//Firefox在文本框內(nèi)選擇文字
var staIndex=target.selectionStart;
var endIndex=target.selectionEnd;
if(staIndex!=endIndex){
var sText=target.value.substring(staIndex,endIndex);
fn(sText,target);
}
}
else{
//獲取選中文字
var sText = document.selection == undefined ? document.getSelection().toString():document.selection.createRange().text;
if (sText != "") {
//將參數(shù)傳入回調(diào)函數(shù)fn
fn(sText, target);
}
}
}
}
/*]]select=*/
function tanchu(txt,tar){
alert("文字屬于"+tar.tagName+"元素,選中內(nèi)容為:"+txt);
}
原作者見(jiàn):http://momomolice.com/wordpress/archives/420.html
附:只獲得選取的文字的代碼(不響應(yīng)該事件)
function getSelectedText()
{
if (window.getSelection)
{ // This technique is the most likely to be standardized.
// getSelection() returns a Selection object, which we do not document.
return window.getSelection().toString();
}
else if (document.getSelection)
{
// This is an older, simpler technique that returns a string
return document.getSelection();
}
else if (document.selection)
{
// This is the IE-specific technique.
// We do not document the IE selection property or TextRange objects.
return document.selection.createRange().text;
}
}
函數(shù)運(yùn)行后會(huì)將選取的文字返回出來(lái)?! ?
原作者已不可考。。。
- js禁止document element對(duì)象選中文本實(shí)現(xiàn)代碼
- js實(shí)現(xiàn)文字選中分享功能
- JS獲取鼠標(biāo)選中的文字
- js實(shí)現(xiàn)選中頁(yè)面文字將其分享到新浪微博
- js實(shí)現(xiàn)選中復(fù)選框文字變色的方法
- JS實(shí)現(xiàn)根據(jù)當(dāng)前文字選擇返回被選中的文字
- JS Range HTML文檔/文字內(nèi)容選中、庫(kù)及應(yīng)用介紹
- Js 載入時(shí)選中文字的實(shí)現(xiàn)代碼
- extJs 文本框后面加上說(shuō)明文字+下拉列表選中值后觸發(fā)事件
- 得到文本框選中的文字,動(dòng)態(tài)插入文字的js代碼
- js鼠標(biāo)移動(dòng)時(shí)禁止選中文字
相關(guān)文章
JavaScript利用Immerjs實(shí)現(xiàn)不可變數(shù)據(jù)
Immerjs?是一個(gè)用于管理?JavaScript?不可變數(shù)據(jù)結(jié)構(gòu)的庫(kù),它可以幫助我們更輕松地處理狀態(tài)的變化,并減少冗余代碼。本文就來(lái)帶大家揭秘如何利用Immerjs實(shí)現(xiàn)不可變數(shù)據(jù),感興趣的可以了解一下2023-04-04Bootstrap基本樣式學(xué)習(xí)筆記之表單(3)
這篇文章主要介紹了Bootstrap學(xué)習(xí)筆記之表單基本樣式的相關(guān)資料,為大家分享了三種表單樣式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12Bootstarp在pycharm中的安裝及簡(jiǎn)單的使用方法
這篇文章主要介紹了Bootstarp在pycharm中的安裝及簡(jiǎn)單的使用方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04使用Bootstrap typeahead插件實(shí)現(xiàn)搜索框自動(dòng)補(bǔ)全的方法
這篇文章主要介紹了使用Bootstrap typeahead插件實(shí)現(xiàn)搜索框自動(dòng)補(bǔ)全的方法的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07基于JS實(shí)現(xiàn)點(diǎn)擊圖片在彈出層顯示大圖效果
Javascript是個(gè)好東西。Jquery是基于這個(gè)好東西的一個(gè)強(qiáng)大的庫(kù)。本文將利用JavaScript實(shí)現(xiàn)點(diǎn)擊圖片在彈出層顯示大圖功能,感興趣的可以了解一下2022-08-08JavaScript中實(shí)現(xiàn)數(shù)組分組功能的方法詳解
最近,JavaScript引入了一個(gè)備受期待的功能:原生支持?jǐn)?shù)組分組,這一特性使得在處理復(fù)雜的數(shù)據(jù)集時(shí)變得更加簡(jiǎn)單和高效,本文將深入探討這一全新的JavaScript特性,希望對(duì)大家有所幫助2023-12-12WebRTC媒體權(quán)限申請(qǐng)getUserMedia實(shí)例詳解
這篇文章主要為大家介紹了WebRTC媒體權(quán)限申請(qǐng)getUserMedia實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11JS支付頁(yè)面倒計(jì)時(shí)的實(shí)現(xiàn)示例
本文主要介紹了JS支付頁(yè)面倒計(jì)時(shí)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03