2015-10-13 55 views
2

我在html textarea中有一個字符串。使用jquery只需單擊一個字就可以從字符串中選擇一個字。如何從textarea中的一個字符串中選擇一個字在鼠標上單擊這個詞

+1

您好,歡迎SO。請閱讀[我如何提出一個好問題?](http://stackoverflow.com/help/how-to-ask) –

+1

[用jQuery在textarea中選擇整個單詞]的可能重複(http://stackoverflow.com /問題/ 5170502 /選擇,整個詞功能於textarea的與 - jQuery的) –

回答

4

這不完全是你想要的,但我希望它以某種方式幫助你......我從網上得到了這個。

$(document).ready(function() { 
 
    $('body').on('click', 'textarea', function() { 
 
     textarea_Click(this); 
 
    }); 
 
    }); 
 

 
    function textarea_Click(e) { 
 
    var caret = getCaretPosition(e); 
 
    var text = e.value; 
 
    var begin = caret - 1; 
 
    while (begin >= 0) { 
 
     if (text.charAt(begin) == '}') return; 
 
     else if (text.charAt(begin) == '{') break; 
 
     else begin--; 
 
    } 
 

 
    if (begin >= 0) { 
 
     var end = caret; 
 
     while (end < text.length) { 
 
     if (text.charAt(end) == '}') break; 
 
     else end++; 
 
     } 
 

 
     if (end < text.length) 
 
     setSelection(begin, end, e); 
 
    } 
 
    } 
 

 
    function getCaretPosition(textarea) { 
 
    if (textarea.selectionStart) { 
 
     return textarea.selectionStart; 
 
    } else { 
 
     // TODO: Handle IE ugliness on your own :) 
 
     return 0; 
 
    } 
 
    } 
 

 
    function setSelection(begin, end, textarea) { 
 
    if ("selectionStart" in textarea) { 
 
     textarea.selectionStart = begin; 
 
     textarea.selectionEnd = end + 1; 
 
    } else if (document.selection) { 
 
     // TODO: Handle IE ugliness on your own :) 
 
     return; 
 
    } 
 
    }
textarea { 
 
    width: 100%; 
 
    height: 100px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 
 
<textarea>Our doubts are traitors, {and} make us lose the {good} we oft might win, by {fearing} to attempt.</textarea>

相關問題