Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menetapkan Kedudukan Kursor dalam Kawasan Teks Menggunakan jQuery?

Bagaimanakah Saya Boleh Menetapkan Kedudukan Kursor dalam Kawasan Teks Menggunakan jQuery?

Patricia Arquette
Patricia Arquetteasal
2024-12-08 15:28:11979semak imbas

How Can I Set the Cursor Position in a Text Area Using jQuery?

Menetapkan Kedudukan Kursor dalam Kawasan Teks dengan jQuery

Masalah:

Bagaimana anda boleh menetapkan kedudukan kursor dalam kawasan teks menggunakan jQuery? Anda mempunyai kawasan teks dengan kandungan sedia ada dan anda mahu meletakkan kursor secara automatik pada ofset tertentu apabila medan menerima fokus.

Penyelesaian:

Untuk jQuery, coretan kod berikut boleh digunakan untuk mencapai fungsi ini:

$.fn.selectRange = function(start, end) {
    if(end === undefined) {
        end = start;
    }
    return this.each(function() {
        if('selectionStart' in this) {
            this.selectionStart = start;
            this.selectionEnd = end;
        } else if(this.setSelectionRange) {
            this.setSelectionRange(start, end);
        } else if(this.createTextRange) {
            var range = this.createTextRange();
            range.collapse(true);
            range.moveEnd('character', end);
            range.moveStart('character', start);
            range.select();
        }
    });
};

Dengan fungsi ini, anda boleh menggunakan yang berikut sintaks:

$('#elem').selectRange(3,5); // select a range of text
$('#elem').selectRange(3); // set cursor position

Ini membolehkan anda menetapkan kedudukan kursor dalam kawasan teks, sama ada anda mahu memilih julat teks atau hanya meletakkan kursor pada offset tertentu.

Sumber Tambahan:

  • [JsFiddle Demo](https://jsfiddle.net/ywkf09w4/)
  • [Demo JsBin](https://jsbin.com/xewotib/edit?html,console,output)

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menetapkan Kedudukan Kursor dalam Kawasan Teks Menggunakan jQuery?. 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