في البرامج العامة، يفضل المبرمجون عمومًا تحديد مربع التركيز من خلال الحكم على شرعية المحتوى عند التحقق من صحة محتوى مربع الإدخال.
يحب:
انسخ رمز الكود كما يلي:
إذا (obj.value = = "") {
obj.focus();
عودة كاذبة.
}
بهذه الطريقة، عندما يكون صندوق الإدخال فارغًا، سيتم نقل التركيز إلى صندوق الإدخال هذا، وهذه الوظيفة مريحة للغاية في الاستخدام، ولكن هناك مشكلة صغيرة...
أي أنه بعد أن يقوم obj.focus() بنقل التركيز إلى مربع الإدخال، فإنه سيحرك مؤشر النص (أي الخط العمودي الوامض) إلى موضع الحرف الأول في مربع الإدخال... بقدر ما الحكم أعلاه هو المعني..إذا لم يكن هناك محتوى في مربع النص... يمكن أن يسمح لنا obj.focus فقط بإدخال المحتوى مباشرة في مربع النص دون النقر فوق مربع النص لتركيز النص...
ومع ذلك، إذا كان هناك محتوى بالفعل في مربع النص... ولكن المحتوى غير قانوني، يقوم obj.focus() أيضًا بتحريك المؤشر إلى موضع الحرف الأول في مربع النص... في هذا الوقت، تجربة المستخدم. سيتم الانتباه إلى أن المصمم مكتئب... ما نحتاجه هو أن يتم التركيز على مربع النص، ثم نقوم بتحريك مؤشر النص إلى نهاية مربع النص، بحيث يتمكن المستخدم من إدخال المحتوى مباشرة دون النقر فوق الزر سيتم إلحاق محتوى الإدخال بالمحتوى الأصلي.
يمكن للكود التالي إكمال هذه التفاصيل الصغيرة:
انسخ رمز الكود كما يلي:
<لغة سكريبت = "جافا سكريبت">
وظيفة getSelectPos(obj){
var esrc = document.getElementById(obj);
إذا (esrc==null){
esrc=event.srcElement;
}
var rtextRange =esrc.createTextRange();
rtextRange.moveStart('character',esrc.value.length);
rtextRange.collapse(true);
rtextRange.select();
}
</script>
سيكون هذا الكود مفيدًا جدًا للمصممين في تفاصيل تجربة المستخدم...