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