JavaScript ialah bahasa pengaturcaraan yang digunakan secara meluas dalam pembangunan bahagian hadapan, dan pembangun boleh menggunakannya untuk melaksanakan pelbagai fungsi imaginasi. Satu ciri berguna ialah membenarkan pengguna mengubah suai kandungan elemen pada halaman apabila mereka mengklik dua kali padanya. Ciri ini digunakan dalam banyak aplikasi, seperti penyunting teks atau pengurus tugas. Dalam artikel ini, kita akan belajar cara melaksanakan fungsi ini menggunakan JavaScript.
Tambah acara klik dua kali
Pertama, sebelum kita mengubah suai kandungan elemen, kita perlu menambah acara klik dua kali padanya. Kita boleh melakukannya dengan cara berikut:
element.addEventListener('dblclick', function() { // 在这里编写事件处理逻辑 });
Dalam kod di atas, kami telah menggunakan kaedah addEventListener
untuk menambah acara klik dua kali, dan fungsi yang dikaitkan dengannya akan dilaksanakan apabila pengguna mengklik dua kali pada elemen. Memandangkan elemen kami mempunyai acara klik dua kali, langkah seterusnya ialah mengubah suai kandungannya dalam acara klik dua kali.
Ubah suai kandungan elemen
Selepas kami menentukan elemen untuk menambah acara, langkah seterusnya ialah mengubah suai kandungan elemen dalam acara klik dua kali. Kita boleh menggunakan atribut innerHTML
untuk mendapatkan dan menetapkan kandungan elemen.
element.addEventListener('dblclick', function() { var currentContent = element.innerHTML; element.innerHTML = '替换内容'; });
Dalam kod di atas, kita mula-mula mendapatkan kandungan semasa elemen menggunakan atribut innerHTML
dan menyimpannya dalam pembolehubah currentContent
. Kami kemudian menetapkan kandungan elemen terus kepada rentetan baharu, dengan itu menukar teks paparannya.
Laksanakan pengubahsuaian klik dua kali
Kini, kami telah melaksanakan acara klik dua kali asas dan kod untuk mengubah suai kandungan elemen. Walau bagaimanapun, terdapat beberapa isu dengan pelaksanaan ini yang perlu ditangani dengan lebih lanjut. Sebagai contoh, kita perlu memastikan bahawa hanya satu elemen boleh diedit pada satu-satu masa dan elemen itu tidak boleh diklik dua kali untuk memilih atau menyeret. Untuk menyelesaikan masalah ini, kita perlu melanjutkan kod:
var currentEditable = null; function makeEditable(element) { element.setAttribute('contenteditable', 'true'); element.focus(); currentEditable = element; } function makeNonEditable() { if (currentEditable) { currentEditable.setAttribute('contenteditable', 'false'); currentEditable = null; } } document.addEventListener('click', function(event) { if (!event.target.isContentEditable) { makeNonEditable(); } }); document.addEventListener('keydown', function(event) { if (event.keyCode === 13) { makeNonEditable(); } }); element.addEventListener('dblclick', function(event) { event.preventDefault(); makeNonEditable(); if (event.target.isContentEditable) { return; } makeEditable(event.target); });
Pelaksanaan ini termasuk langkah berikut:
currentEditable
untuk menjejaki elemen sedang dalam keadaan penyuntingan Jika tiada unsur dalam keadaan penyuntingan, pembolehubah ini ialah null
. makeEditable
dan makeNonEditable
, yang digunakan untuk menukar elemen kepada keadaan boleh diedit. Apabila halaman tidak boleh diedit, mengklik mana-mana pada halaman akan berhenti mengedit. Kami menambah dua pendengar acara:
click
Pendengar digunakan untuk mengesan peristiwa klik tetikus. Jika elemen sasaran acara klik tidak boleh diedit, kami mengalihkan semua elemen daripada keadaan pengeditan kepada keadaan bukan pengeditan. keydown
Pendengar digunakan untuk mengesan peristiwa penting. Jika pengguna menekan kekunci Enter
, semua elemen beralih daripada menyunting kepada keadaan tidak menyunting. dblclick
pendengar, yang digunakan untuk mengesan acara klik dua kali pengguna. Jika pengguna mengklik dua kali elemen yang tidak boleh diedit, elemen tersebut akan ditukar kepada keadaan boleh diedit. Kini, kita boleh menggunakan kod di atas untuk melaksanakan pengeditan klik dua kali pada teks.
Ringkasan
Dalam artikel ini, kami menggunakan JavaScript untuk menulis kod yang mengklik dua kali untuk mengubah suai kandungan elemen. Kami menggunakan kaedah addEventListener
untuk menambah acara klik dua kali pada elemen dan dalam acara itu gunakan atribut innerHTML
untuk mengubah suai kandungan elemen. Akhir sekali, kami juga menambah pemprosesan lain, seperti mengawal hanya satu elemen untuk diedit. Pelaksanaan ini membantu meningkatkan kebolehgunaan dan pengalaman pengguna aplikasi anda, dan kami berharap ia dapat membantu kerja pembangunan anda.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pengubahsuaian klik dua kali dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!