คุณจะกำหนดตำแหน่งเคอร์เซอร์ในฟิลด์ข้อความโดยใช้ jQuery ได้อย่างไร ฉันมีช่องข้อความที่มีเนื้อหาและฉันต้องการให้เคอร์เซอร์ผู้ใช้อยู่ในตำแหน่งออฟเซ็ตที่แน่นอนเมื่อพวกเขามุ่งเน้นไปที่ฟิลด์ รหัสควรมีลักษณะเช่นนี้:
$('#input').focus(function() {
$(this).setCursorPosition(4);
});
การใช้งานฟังก์ชัน setCursorPosition นั้นมีลักษณะอย่างไร หากคุณมีช่องข้อความที่มีเนื้อหา abcdefg การโทรนี้จะส่งผลให้เคอร์เซอร์อยู่ในตำแหน่งดังต่อไปนี้: abcd ** | ** efg
Java มีฟังก์ชั่นที่คล้ายกัน setCaretPosition มีวิธีการที่คล้ายคลึงกันสำหรับจาวาสคริปต์หรือไม่?
อัปเดต: ฉันแก้ไขโค้ดของ CMS เพื่อทำงานกับ jQuery ดังต่อไปนี้:
new function($) {
$.fn.setCursorPosition = function(pos) {
if (this.setSelectionRange) {
this.setSelectionRange(pos, pos);
} else if (this.createTextRange) {
var range = this.createTextRange();
range.collapse(true);
if(pos < 0) {
pos = $(this).val().length + pos;
}
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
}
}(jQuery);
$(this).get(0).setSelectionRange)
? คุณรู้หรือไม่ว่าเป็นแบบthis.setSelectionRange
เดียวกับที่อ่านช้ากว่าและอ่านยากกว่าใช่ไหม jQuery ไม่ได้ทำสิ่งใดเพื่อคุณอย่างแท้จริง