Download Demo
Textarea highlighter is a jQuery plugin for highlighting text in textarea
1. INCLUDE JS FILES
<script src= "/bower_components/jquery/dist/jquery.min.js" ></script> <script src= "/src/jquery.textarea-highlighter.js" ></script> |
<div class = "translation" > <div class = "source" >some cool text is <span class = "hoge" >here for </span> you to translate. And <span class = "match" >[[text here too]]</span> some more to translation for you. some cool text is <span class = "hoge" > for they</span> you to translate.<span class = "match" >[[text here too]]</span> add some more <span class = "hoge" > for me</span> and some more <span class = "fuga" > for them</span> and me</div> <textarea class = "target" placeholder= "Type your text here" >some cool text is here for you to translate. And [[text here too]] some more to translation for you. some cool text is for they you to translate.[[text here too]] add some more for me and some more for them and me</textarea> </div> |
var brackets = [ '[[text here too]]' ]; var glossary = [ 'here for' , 'for they' , 'for me' , 'here too' ]; var misspelling = [ 'for' , 'for them' , 'here' ]; $( '.translation' ).find( '.target' ) .textareaHighlighter({ matches: [ { 'matchClass' : 'matchHighlight' , 'match' : brackets, 'priority' : 2 }, { 'matchClass' : 'hogeHighlight' , 'match' : misspelling, 'priority' : 0 }, { 'matchClass' : 'fugaHighlight' , 'match' : glossary, 'priority' : 1 } ] }); |
These are the supported options and their default values:
$.textareaHighlighter.defaults = { matches: [ // Array of matches with matchClass & word array { 'priority': 1, // if there is overlap with other matches it will highlight a match that has a higher priority 'match': ['this is a test', 'text to match'], // will highlight text in this array 'matchClass': 'match' // this class will be added to the matching string } ], word_base: true, // Word base language is English, German etc. Set to false when it's Japanese, Chinese etc. isAutoExpand: true, // Set to 'false' if you don't want to expand textarea on input typingDelay: 30 // Typing delay in milliseconds maxlength: -1, // -1: disable, some int number over 0 maxlengthWarning: '', // Class name to add to text when it's over max length maxlengthElement: null, // jQuery element to update letter count in the view debug: false, // Flag to show debug mode };
updateMatches
Update matches that needed to be highlighted
var matches = [{ 'matchClass': 'match', 'match': ['a','b'] }]; $('#someElement').textareaHighlighter('updateMatches', matches);
Update style added by plugin, use this when the textarea layout changes etc…
$('#someElement').textareaHighlighter('updateStyle');
Update textarea & plugins extra div’s height
$('#someElement').textareaHighlighter('updateHeight');
Remove all added HTML/CSS and plugin related event bindings etc..
$('#someElement').textareaHighlighter('destroy');
Turn debug mode on
$('#someElement').textareaHighlighter('debugModeOn');
Turn debug mode off
$('#someElement').textareaHighlighter('debugModeOff');
textarea.highlighter.highlight
This event is triggered when all the highlighting is complete.
This event is triggered when all the highlighting is complete.
$('#someElement').on('textarea.highlighter.highlight', function() { // do some cool stuff :) });
No comments:
Post a Comment