Contoh dalam artikel ini menerangkan cara melaksanakan pemprosesan lekukan kekunci tab dalam textarea menggunakan JavaScript. Kongsikan dengan semua orang untuk rujukan anda. Butirannya adalah seperti berikut:
Saya mencari di Internet untuk penyelesaian berkaitan yang lain menggunakan dua atau tiga baris javascript untuk menyelesaikan masalah, tetapi mereka semua mempunyai masalah kecil. Terdapat juga satu yang menggunakan JQuery, yang juga sangat mudah.
Kod javascript dalam artikel ini melaksanakan fungsi memasukkan kunci TAB dalam TEXTAREA dan mengindennya secara automatik. Walau bagaimanapun, kod ini tidak boleh dilaksanakan seperti biasa dalam Google Chrome Dalam
Kod dijalankan seperti biasa dalam IE, seperti berikut:
<mce:script type="text/javascript"> <!-- function editTab() { var code, sel, tmp, r var tabs="" event.returnValue = false sel =event.srcElement.document.selection.createRange() r = event.srcElement.createTextRange() switch (event.keyCode) { case (8) : if (!(sel.getClientRects().length > 1)) { event.returnValue = true return } code = sel.text tmp = sel.duplicate() tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top) sel.setEndPoint("startToStart", tmp) sel.text = sel.text.replace(/^/t/gm, "") code = code.replace(/^/t/gm, "").replace(//r/n/g, "/r") r.findText(code) r.select() break case (9) : if (sel.getClientRects().length > 1) { code = sel.text tmp = sel.duplicate() tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top) sel.setEndPoint("startToStart", tmp) sel.text = "/t"+sel.text.replace(//r/n/g, "/r/t") code = code.replace(//r/n/g, "/r/t") r.findText(code) r.select() } else { sel.text = "/t" sel.select() } break case (13) : tmp = sel.duplicate() tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top) tmp.setEndPoint("endToEnd", sel) for (var i=0; tmp.text.match(/^[/t]+/g) && i<tmp.text.match(/^[/t]+/g)[0].length; i++) tabs += "/t" sel.text = "/r/n"+tabs sel.select() break default : event.returnValue = true break } } // --> </mce:script>
Apabila menggunakan:
Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.