Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Meletakkan Kursor pada Penghujung Elemen Input Teks dalam JavaScript?

Bagaimana untuk Meletakkan Kursor pada Penghujung Elemen Input Teks dalam JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-11-30 06:03:11882semak imbas

How to Reliably Place the Cursor at the End of a Text Input Element in JavaScript?

Letakkan Kursor di Penghujung Elemen Input Teks dalam JavaScript

Menempatkan kursor di hujung elemen input teks melalui JavaScript adalah mudah tugasan, terutamanya selepas fokus ditetapkan kepada elemen. Mari kita teroka pendekatan yang paling cekap dan mudah:

Coretan kod berikut menyediakan penyelesaian yang mudah tetapi berkesan:

this.selectionStart = this.selectionEnd = this.value.length;

Baris ini mengira panjang nilai input dan menetapkan kedua-dua permulaan dan tamatkan kursor ke kedudukan itu. Kaedah ini berfungsi dalam kebanyakan penyemak imbas utama.

Walau bagaimanapun, penyemak imbas tertentu mempamerkan keanehan yang memerlukan penyelesaian yang lebih komprehensif:

setTimeout(function(){ that.selectionStart = that.selectionEnd = 10000; }, 0);

Dalam coretan kod ini, setTimeout() digunakan untuk menangani potensi pelayar tidak konsisten. Ia menetapkan kedudukan kursor kepada nombor yang besar sewenang-wenangnya (cth., 10000), memastikan bahawa ia berada di luar penghujung teks input, pada asasnya meletakkannya pada penghujung.

Selain itu, anda boleh menggunakan jQuery untuk menetapkan fokus pendengar:

$('#el').focus(function(){
  var that = this;
  setTimeout(function(){ that.selectionStart = that.selectionEnd = 10000; }, 0);
});

Atas ialah kandungan terperinci Bagaimana untuk Meletakkan Kursor pada Penghujung Elemen Input Teks dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn