ในโปรแกรมทั่วไป โดยทั่วไปโปรแกรมเมอร์มักจะกำหนดกล่องโฟกัสโดยการตัดสินความถูกต้องตามกฎหมายของเนื้อหาเมื่อตรวจสอบความถูกต้องของเนื้อหาของกล่องอินพุต
ชอบ:
คัดลอกรหัสรหัสดังต่อไปนี้:
ถ้า(obj.value==""){
obj.โฟกัส();
กลับเท็จ;
-
ด้วยวิธีนี้เมื่อกล่องอินพุตว่างเปล่าโฟกัสจะถูกย้ายไปยังกล่องอินพุตนั้นสะดวกมากในการใช้งาน แต่มีปัญหาเล็กน้อย...
นั่นคือ หลังจากที่ obj.focus() ย้ายโฟกัสไปที่กล่องอินพุต มันจะย้ายเคอร์เซอร์ข้อความ (นั่นคือ เส้นแนวตั้งที่กะพริบ) ไปยังตำแหน่งของอักขระตัวแรกของกล่องอินพุต... เท่าที่ เกี่ยวข้องกับการตัดสินข้างต้น ..หากไม่มีเนื้อหาในกล่องข้อความ... obj.focus ก็สามารถให้เราป้อนเนื้อหาลงในกล่องข้อความได้โดยตรงโดยไม่ต้องคลิกที่กล่องข้อความเพื่อให้ข้อความโฟกัส...
อย่างไรก็ตาม หากมีเนื้อหาอยู่ในกล่องข้อความอยู่แล้ว... แต่เนื้อหานั้นผิดกฎหมาย obj.focus() ก็เลื่อนเคอร์เซอร์ไปที่ตำแหน่งอักขระตัวแรกของกล่องข้อความ... ในเวลานี้ประสบการณ์การใช้งานของผู้ใช้ จะได้รับความสนใจ ผู้ออกแบบหดหู่ใจ... สิ่งที่เราต้องการคือให้กล่องข้อความได้รับการโฟกัสแล้วเลื่อนเคอร์เซอร์ข้อความไปที่ท้ายกล่องข้อความเพื่อให้ผู้ใช้สามารถป้อนเนื้อหาได้โดยตรงโดยไม่ต้องคลิกที่ กล่องข้อความ เนื้อหาที่ป้อนจะถูกผนวกเข้ากับเนื้อหาต้นฉบับ ..
รหัสต่อไปนี้สามารถกรอกรายละเอียดเล็กๆ น้อยๆ นี้ให้สมบูรณ์:
คัดลอกรหัสรหัสดังต่อไปนี้:
<ภาษาสคริปต์ = "จาวาสคริปต์">
ฟังก์ชั่น getSelectPos (obj) {
var esrc = document.getElementById(obj);
ถ้า(esrc==null){
esrc=event.srcElement;
-
var rtextRange =esrc.createTextRange();
rtextRange.moveStart('ตัวละคร',esrc.value.length);
rtextRange.collapse(จริง);
rtextRange.เลือก();
-
</สคริปต์>
รหัสนี้จะช่วยนักออกแบบได้อย่างมากในรายละเอียดประสบการณ์ผู้ใช้...