خصائص keyCode لحدث KeyboardEvent
التعريف والاستخدام
keyCode الخاصية تعود بـ حدث onkeypress كود الحرف Unicode للمفتاح، أو يسبب onkeydown أو حدث onkeyup كود المفتاح Unicode للمفتاح
الفرق بين نوعي الكود
- كود الحرف - يمثل الرقم الحرفي للرمز ASCII
- رمز الضغط - يمثل الرقم الحقيقي للزر على لوحة المفاتيح
هذه الأنواع لا تكون دائمًا لها نفس المعنى. على سبيل المثال، رمز لوحة المفاتيح لـ "w" الصغير والكبير هو نفسه، لأن الزر المضغط هو نفسه ("W" = الرقم "87")، ولكن رمز الحرف مختلف، لأن الحرف الناتج مختلف ("w" أو "W"، أي "119" أو "87"). - يرجى الرجوع إلى الأمثلة أدناه للحصول على فهم أفضل لهذا النقطة.
نصيحة:للتحقق مما إذا كان المستخدم قد ضغط على زر قابل للطباعة (مثل "a" أو "5")، يُنصح باستخدام هذه الخاصية في أحداث onkeypress. للتحقق مما إذا كان المستخدم قد ضغط على زر وظيفي (مثل "F1"، "CAPS LOCK" أو "Home")، استخدم أحداث onkeydown أو onkeyup.
التعليقات:في Firefox، لا يتم استخدام خاصية keyCode مع أحداث onkeypress (سيتم إرجاع 0 فقط). للحصول على حل متوافق عبر المتصفحات، يرجى استخدام خصائص whichاستخدام معزز مع keyCode، مثل:
var x = event.which || event.keyCode; // اختيار which أو keyCode يعتمد على دعم المتصفح
نصيحة:للحصول على قائمة بجميع الحروف Unicode، يرجى الرجوع إلى مرجع Unicode الكامل.
نصيحة:إذا كنت ترغب في تحويل قيمة Unicode إلى حرف، استخدم طريقة fromCharCode().
التعليقات:الخصائص فقط للقراءة.
التعليقات:تم تقديم خصائص keyCode و which فقط للتوافق. يوصى بأحدث إصدار من معيار DOM لاستخدام خاصية key (إذا كانت متاحة).
نصيحة:إذا كنت ترغب في معرفة ما إذا تم ضغط "ALT"، "CTRL"، "META" أو "SHIFT" عند حدوث أحداث الضغط على الزر، استخدم altKey،ctrlKey/،metaKey أو shiftKey الخصائص.
مثال
مثال 1
الحصول على قيمة Unicode للزر المضغط:
var x = event.keyCode;
مثال 2
استخدام onkeypress و onkeydown لتوضيح الفرق بين رموز الحروف والرموز المتعلقة باللوحة المفاتيح:
<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)"> وظيفة uniCharCode(event) { مفهوم char = event.which || event.keyCode; document.getElementById("demo").innerHTML = "رمز CHARACTER Unicode: " + char; } function uniKeyCode(event) { var key = event.keyCode; document.getElementById("demo2").innerHTML = "رمز KEY Unicode: " + key; }
عند ضغط مفتاح "a" على لوحة المفاتيح (بدون استخدام Capslock)، ستكون النتائج char وkey كالتالي:
رمز CHARACTER Unicode: 97 رمز KEY Unicode: 65
مثال 3
إذا ضغط المستخدم على مفتاح الإفلات، فسيتم عرض بعض النصوص:
<input type="text" onkeydown="myFunction(event)"> function myFunction(event) { var x = event.keyCode; if (x == 27) { // 27 هو مفتاح الإفلات alert ("لقد ضغطت على مفتاح الإفلات!"); } }
مثال 4
تحويل القيمة Unicode إلى حرف (لا ينطبق على الأزرار الوظيفية):
var x = event.keyCode; // الحصول على القيمة Unicode var y = String.fromCharCode(x); // تحويل القيمة إلى حرف
النحو
event.keyCode
تفاصيل تقنية
القيمة المعدة: | قيمة رقمية، تعبر عن رمز Unicode أو رمز ضغط Unicode. |
---|---|
إصدار DOM: | أحداث مستوى DOM 2 |
دعم المتصفح
الخصائص | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
keyCode | الدعم | الدعم | الدعم | الدعم | الدعم |
الصفحات ذات الصلة
دليل HTML DOM المشار إليه:صفة key في KeyboardEvent
دليل HTML DOM المشار إليه:صفة charCode في KeyboardEvent
دليل HTML DOM المشار إليه:صفة which في KeyboardEvent