富文字框的使用
阿新 • • 發佈:2019-01-10
首先引進相關的js、css
至於jQuery和bootstrap相關的js、css自己加入。然後我把文字框的html程式碼封裝為一個wysiwyg.jsp:<link rel="stylesheet" href="${basePath}/static/font-awesome-3.2.1/css/font-awesome.min.css" type="text/css"> <link rel="stylesheet" href="${basePath}/static/bootstrap/css/index.css" type="text/css"> <script src="${basePath}/static/bootstrap/js/bootstrap-wysiwyg.js"></script> <script src="${basePath}/static/bootstrap/js/jquery.hotkeys.js"></script>
然後封裝相應的初始化js,可以分裝為一個js然後把他引進wysiwyg.jsp中(我 這裡只貼我分裝的一個方法):<div class="editor"> <div style="margin-top:20px" data-role="editor-toolbar" data-target="#editor" class="btn-toolbar"> <div class="btn-group"><a data-toggle="dropdown" title="Font" class="btn dropdown-toggle"><i class="glyphicon glyphicon-font"></i><b class="caret"></b></a> <ul class="dropdown-menu"></ul> </div> <div class="btn-group"><a data-toggle="dropdown" title="Font Size" class="btn dropdown-toggle"><i class="glyphicon glyphicon-text-height"></i><b class="caret"></b></a> <ul class="dropdown-menu"> <li><a data-edit="fontSize 5"><font size="5">Huge</font></a></li> <li><a data-edit="fontSize 3"><font size="3">Normal</font></a></li> <li><a data-edit="fontSize 1"><font size="1">Small</font></a></li> </ul> </div> <div class="btn-group"><a data-edit="bold" title="加粗(Ctrl/Cmd+B)" class="btn"><i class="icon-bold"></i></a><a data-edit="italic" title="斜體(Ctrl/Cmd+I)" class="btn"><i class="icon-italic"></i></a><a data-edit="strikethrough" title="Strikethrough" class="btn"><i class="icon-strikethrough"></i></a><a data-edit="underline" title="Underline (Ctrl/Cmd+U)" class="btn"><i class="icon-underline"></i></a> </div> <div class="btn-group"><a data-edit="insertunorderedlist" title="Bullet list" class="btn"><i class="icon-list-ul"></i></a><a data-edit="insertorderedlist" title="Number list" class="btn"><i class="icon-list-ol"></i></a><a data-edit="outdent" title="Reduce indent (Shift+Tab)" class="btn"><i class="icon-indent-left"></i></a><a data-edit="indent" title="Indent (Tab)" class="btn"><i class="icon-indent-right"></i></a></div> <div class="btn-group"><a data-edit="justifyleft" title="Align Left (Ctrl/Cmd+L)" class="btn"><i class="icon-align-left"></i></a><a data-edit="justifycenter" title="Center (Ctrl/Cmd+E)" class="btn"><i class="icon-align-center"></i></a><a data-edit="justifyright" title="Align Right (Ctrl/Cmd+R)" class="btn"><i class="icon-align-right"></i></a><a data-edit="justifyfull" title="Justify (Ctrl/Cmd+J)" class="btn"><i class="icon-align-justify"></i></a> </div> <div class="btn-group"><a data-toggle="dropdown" title="Hyperlink" class="btn dropdown-toggle"><i class="icon-link"></i></a> <div class="dropdown-menu input-append"><input placeholder="URL" type="text" data-edit="createLink" class="span2"> <button type="button" class="btn">Add</button> </div> <a data-edit="unlink" title="Remove Hyperlink" class="btn"><i class="icon-cut"></i></a></div> <div class="btn-group"><a id="pictureBtn" title="Insert picture (or just drag & drop)" class="btn"><i class="icon-picture"></i></a><input type="file" data-role="magic-overlay" data-target="#pictureBtn" data-edit="insertImage"> <div class="btn-group"><a data-edit="undo" title="Undo (Ctrl/Cmd+Z)" class="btn"><i class="icon-undo"></i></a><a data-edit="redo" title="Redo (Ctrl/Cmd+Y)" class="btn"><i class="icon-repeat"></i></a></div> <input id="voiceBtn" type="text" data-edit="inserttext" x-webkit-speech=""></div> </div> <div id="editor"> </div> </div>
function showWysiwyg() { function initToolbarBootstrapBindings() { var fonts = [ 'Serif', 'Sans', 'Arial', 'Arial Black', 'Courier', 'Courier New', 'Comic Sans MS', 'Helvetica', 'Impact', 'Lucida Grande', 'Lucida Sans', 'Tahoma', 'Times', 'Times New Roman', 'Verdana' ], fontTarget = $('[title=Font]') .siblings('.dropdown-menu'); $.each(fonts, function(idx, fontName) { fontTarget.append($('<li><a data-edit="fontName ' + fontName + '" style="font-family:\'' + fontName + '\'">' + fontName + '</a></li>')); }); $('a[title]').tooltip({ container : 'body' }); $('.dropdown-menu input').click(function() { return false; }).change( function() { $(this).parent('.dropdown-menu').siblings( '.dropdown-toggle').dropdown('toggle'); }).keydown('esc', function() { this.value = ''; $(this).change(); }); $('[data-role=magic-overlay]').each( function() { var overlay = $(this), target = $(overlay.data('target')); overlay.css('opacity', 0).css('position', 'absolute') .offset(target.offset()).width(target.outerWidth()) .height(target.outerHeight()); }); $('#voiceBtn').hide(); } ; initToolbarBootstrapBindings(); $('#editor').wysiwyg(); window.prettyPrint && prettyPrint(); }
現在我們所有準備工作都做好了,我們只需在需要文字框的jsp頁面把文字框jsp頁面include進來即可