JS簡易版富文本編輯器實作程式碼
直到今天才來,初略的了解了下,當然呢,至於過程也是前一秒痛苦,後三秒輕鬆加容易的。這個富文本編輯器,主要是用p自帶的contenteditable屬性document.execCommand()方法實現的,為了方便佈局,偷了下小懶,直接拿table佈局了,唉,作為一名那些年的前端開發人員,還真是不知道該說些啥了。
以下展示實現的效果:
#體的實作過程:
(1) HTML結構:
<table border='1' class="tablebox" id='tablebox'> <tr> <td> <input type="button" name="bold" value='Bold' class="bold"> </td> <td> <input type="button" name="italic" value='Italic' class="italic"> </td> <td> <input type="button" name="underline" value='Underline' class="decotation"> </td> <td>size <select name="fontSize" class="font"> <option value="1">1</option> <option value="3">3</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> </select> </td> <td>img <select name="insertImage"> <option value="">请选择图片</option> <option value="timg.jpg">timg.jpg</option> <option value="timg1.jpg">timg1.jpg</option> <option value="timg2.jpg">timg2.jpg</option> <option value="timg3.jpg">timg3.jpg</option> <option value="timg4.jpg">timg4.jpg</option> </select> </td> <td> <input type="button" name="selectAll" value='全选' class="selectAll"> </td> <td> <input type="button" name="undo" value='撤销' class="undo"> </td> <td> <input type="button" name="justifyLeft" value='left' class="justifyLeft"> </td> <td> <input type="button" name="justifyCenter" value='center' class="justifyCenter"> </td> <td> <input type="button" name="justifyRight" value='right' class="justifyRight"> </td> </tr> <tr> <td colspan='10'> <p class="text" contenteditable="true">这是一个用p的contenteditable属性以及document.execCommand实现的一个简易富文本编辑器。</p> </td> </tr> </table>
(2)JS實作邏輯:
(function() { //富文本编辑器类 class Editor { constructor() { this.bindElem(); } bindElem() { var text = document.querySelector('.text'); var txt = null; var tablebox = document.getElementById_x('tablebox'); var inputbs = tablebox.querySelectorAll('input,select'); for (var i = 0; i { if (inputbs[i].tagName.toLowerCase() == 'input') { this.action(inputbs[i], inputbs[i].name); } else if (inputbs[i].tagName.toLowerCase() == 'select') { inputbs[i].onchange = function() { document.execCommand(this.name, true, this.value); } } } } action(obj, attr) { obj.onclick = function() { document.execCommand(attr, true); } } } new Editor(); })();
相關推薦:
以上是JS簡易版富文本編輯器實作程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

C語言作為一門基礎而重要的程式語言,對於初學者來說,選擇合適的程式設計軟體是非常重要的。在市面上有許多不同的C語言程式設計軟體可供選擇,但對於初學者來說,適合自己的選擇可能有些困惑。本文將推薦給初學者的五個C語言程式設計軟體,幫助他們快速入門並提升程式設計能力。 Dev-C++Dev-C++是一款免費開源的整合開發環境(IDE),特別適合初學者使用。它簡單易用,整合了編輯器、

本教學向您展示如何在Windows的Chrome或Edge中找到所有開啟的標籤頁上的特定文字或短語。有沒有辦法在Chrome中所有開啟的標籤頁上進行文字搜尋?是的,您可以使用Chrome中的免費外部Web擴充功能在所有開啟的標籤上執行文字搜索,而無需手動切換標籤。一些擴充功能如TabSearch和Ctrl-FPlus可以幫助您輕鬆實現這項功能。如何在GoogleChrome的所有選項卡中搜尋文字? Ctrl-FPlus是一個免費的擴展,它方便用戶在瀏覽器視窗的所有標籤中搜尋特定的單字、短語或文字。這個擴

標題:Go語言開發工具介紹:必備工具一覽在Go語言的開發過程中,使用適當的開發工具可以提高開發效率和程式碼品質。本文將介紹幾款在Go語言開發中常用的必備工具,並附上具體的程式碼範例,讓讀者更直觀地了解它們的使用方法和作用。 1.VisualStudioCodeVisualStudioCode是一款輕量級且功能強大的跨平台開發工具,具有豐富的插件和功能,

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

隨著Golang的流行和普及,越來越多的開發者開始使用這門程式語言。然而,和其他流行的程式語言一樣,Golang的開發需要選擇一款適合的編輯器來提高開發效率。在本文中,我們將介紹五個適合Golang開發的編輯器。 VisualStudioCodeVisualStudioCode(簡稱VSCode)是微軟開發的一款免費的跨平台編輯器。它是基於Elect

Discuz編輯器:強大的網頁編輯工具,需要具體程式碼範例隨著網路的發展,網站建立和內容編輯變得越來越重要。作為常見的網頁編輯工具,Discuz編輯器在網站建置中扮演著重要的角色。它不僅提供了豐富的功能和工具,還能夠幫助使用者更方便地編輯和發佈內容。在本文中,我們將介紹Discuz編輯器的特點和使用方法,並提供一些具體的程式碼範例,來幫助讀者更好地了解和使用

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest
