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(); })();
相关推荐:
Atas ialah kandungan terperinci JS简易版富文本编辑器实现代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Bahasa C adalah bahasa pengaturcaraan asas dan penting Bagi pemula, adalah sangat penting untuk memilih perisian pengaturcaraan yang sesuai. Terdapat banyak pilihan perisian pengaturcaraan C yang berbeza di pasaran, tetapi untuk pemula, ia boleh menjadi agak mengelirukan untuk memilih mana yang sesuai untuk anda. Artikel ini akan mengesyorkan lima perisian pengaturcaraan bahasa C kepada pemula untuk membantu mereka bermula dengan cepat dan meningkatkan kemahiran pengaturcaraan mereka. Dev-C++Dev-C++ ialah persekitaran pembangunan bersepadu (IDE) percuma dan sumber terbuka, terutamanya sesuai untuk pemula. Ia mudah dan mudah digunakan, menyepadukan editor,

WebSocket dan JavaScript: Teknologi utama untuk merealisasikan sistem pemantauan masa nyata Pengenalan: Dengan perkembangan pesat teknologi Internet, sistem pemantauan masa nyata telah digunakan secara meluas dalam pelbagai bidang. Salah satu teknologi utama untuk mencapai pemantauan masa nyata ialah gabungan WebSocket dan JavaScript. Artikel ini akan memperkenalkan aplikasi WebSocket dan JavaScript dalam sistem pemantauan masa nyata, memberikan contoh kod dan menerangkan prinsip pelaksanaannya secara terperinci. 1. Teknologi WebSocket

Tutorial ini menunjukkan kepada anda cara mencari teks atau frasa tertentu pada semua tab terbuka dalam Chrome atau Edge pada Windows. Adakah terdapat cara untuk melakukan carian teks pada semua tab terbuka dalam Chrome? Ya, anda boleh menggunakan sambungan web luaran percuma dalam Chrome untuk melakukan carian teks pada semua tab terbuka tanpa perlu menukar tab secara manual. Sesetengah sambungan seperti TabSearch dan Ctrl-FPlus boleh membantu anda mencapai ini dengan mudah. Bagaimana untuk mencari teks merentas semua tab dalam Google Chrome? Ctrl-FPlus ialah sambungan percuma yang memudahkan pengguna mencari perkataan, frasa atau teks tertentu merentas semua tab tetingkap penyemak imbas mereka. Pengembangan ini

Tajuk: Pengenalan kepada alat pembangunan bahasa Go: Senarai alatan penting Dalam proses pembangunan bahasa Go, menggunakan alatan pembangunan yang sesuai boleh meningkatkan kecekapan pembangunan dan kualiti kod. Artikel ini akan memperkenalkan beberapa alatan penting yang biasa digunakan dalam pembangunan bahasa Go dan melampirkan contoh kod khusus untuk membolehkan pembaca memahami penggunaan dan fungsinya dengan lebih intuitif. 1.VisualStudioCodeVisualStudioCode ialah alat pembangunan merentas platform yang ringan dan berkuasa dengan pemalam dan fungsi yang kaya.

Dengan populariti dan populariti Golang, semakin ramai pembangun mula menggunakan bahasa pengaturcaraan ini. Walau bagaimanapun, seperti bahasa pengaturcaraan popular yang lain, pembangunan Golang memerlukan pemilihan editor yang sesuai untuk meningkatkan kecekapan pembangunan. Dalam artikel ini, kami akan memperkenalkan lima editor yang sesuai untuk pembangunan Golang. VisualStudioCodeVisualStudioCode (pendek kata VSCode) ialah editor merentas platform percuma yang dibangunkan oleh Microsoft. Ia berdasarkan Pilihan

JavaScript dan WebSocket: Membina sistem ramalan cuaca masa nyata yang cekap Pengenalan: Hari ini, ketepatan ramalan cuaca sangat penting kepada kehidupan harian dan membuat keputusan. Apabila teknologi berkembang, kami boleh menyediakan ramalan cuaca yang lebih tepat dan boleh dipercayai dengan mendapatkan data cuaca dalam masa nyata. Dalam artikel ini, kita akan mempelajari cara menggunakan teknologi JavaScript dan WebSocket untuk membina sistem ramalan cuaca masa nyata yang cekap. Artikel ini akan menunjukkan proses pelaksanaan melalui contoh kod tertentu. Kami

Penjelasan terperinci tentang fungsi VSCode: Bagaimanakah ia membantu anda meningkatkan kecekapan kerja? Dengan pembangunan berterusan industri pembangunan perisian, usaha pemaju untuk kecekapan kerja dan kualiti kod telah menjadi matlamat penting dalam kerja mereka. Dalam proses ini, pilihan editor kod menjadi keputusan utama. Di antara banyak editor, Kod Visual Studio (pendek kata VSCode) disukai oleh majoriti pembangun kerana fungsinya yang berkuasa dan kebolehskalaan yang fleksibel. Artikel ini akan memperkenalkan beberapa fungsi VSCode secara terperinci dan membincangkan

Tutorial JavaScript: Bagaimana untuk mendapatkan kod status HTTP, contoh kod khusus diperlukan: Dalam pembangunan web, interaksi data dengan pelayan sering terlibat. Apabila berkomunikasi dengan pelayan, kami selalunya perlu mendapatkan kod status HTTP yang dikembalikan untuk menentukan sama ada operasi itu berjaya dan melaksanakan pemprosesan yang sepadan berdasarkan kod status yang berbeza. Artikel ini akan mengajar anda cara menggunakan JavaScript untuk mendapatkan kod status HTTP dan menyediakan beberapa contoh kod praktikal. Menggunakan XMLHttpRequest
