KeyboardEvent أي خاصية
مثال
احصل على قيمة Unicode لمفتاح لوحة المفاتيح المضغوط:
var x = event.which;
المزيد من الأمثلة "جربها بنفسك" أدناه.
التعريف والاستخدام
الخاصية التي تُرجع رمز حرف Unicode للمفتاح الذي أدى إلى تشغيل حدث عند الضغط ، أو رمز مفتاح Unicode للمفتاح الذي أطلق حدث onkeydown أو onkeyup .
الفرق بين نوعي الكود:
- رموز الأحرف - رقم يمثل حرف ASCII
- رموز المفاتيح - رقم يمثل مفتاحًا فعليًا على لوحة المفاتيح
هذه الأنواع لا تعني دائمًا نفس الشيء ؛ على سبيل المثال ، الحرف الصغير "w" والحرف الكبير "W" لهما نفس رمز لوحة المفاتيح ، لأن المفتاح الذي يتم الضغط عليه على لوحة المفاتيح هو نفسه (فقط "W" = الرقم "87") ، ولكن مختلف رمز الحرف لأن الحرف الناتج مختلف (إما "w" أو "W" ، وهو "119" أو "87") - راجع "مزيد من الأمثلة" أدناه لفهمها بشكل أفضل.
نصيحة: لمعرفة ما إذا كان المستخدم يضغط على مفتاح قابل للطباعة (مثل "a" أو "5") ، يوصى باستخدام هذه الخاصية في حدث onkeypress. لمعرفة ما إذا كان المستخدم يضغط على مفتاح وظيفي (مثل "F1" أو "CAPS LOCK" أو "Home") استخدم حدث onkeydown أو onkeyup.
ملاحظة: الخاصية التي لا يتم دعمها في IE8 والإصدارات الأقدم. بالنسبة لإصدارات المستعرض هذه ، يمكنك استخدام خاصية keyCode . ومع ذلك ، لا تعمل الخاصية keyCode في حدث onkeypress في Firefox. للحصول على حل متعدد المستعرضات ، يمكنك استخدام الكود التالي:
var x = event.which || event.keyCode; // Use either which or keyCode, depending on browser support
نصيحة: للحصول على قائمة بجميع أحرف Unicode ، يرجى دراسة مرجع Unicode الكامل الخاص بنا .
نصيحة: إذا كنت تريد تحويل قيمة Unicode التي تم إرجاعها إلى حرف ، فاستخدم طريقة fromCharCode () .
ملاحظة: هذه الخاصية للقراءة فقط.
ملاحظة: يتم توفير كل من خاصية "which" و "keyCode" للتوافق فقط. يوصي أحدث إصدار من مواصفة أحداث DOM باستخدام خاصية المفتاح بدلاً من ذلك (إذا كانت متوفرة).
تلميح: إذا كنت تريد معرفة ما إذا تم الضغط على مفتاح "ALT" أو "CTRL" أو "META" أو "SHIFT" عند حدوث حدث رئيسي ، فاستخدم خاصية altKey أو ctrlKey أو metaKey أو shiftKey .
دعم المتصفح
تحدد الأرقام الواردة في الجدول إصدار المتصفح الأول الذي يدعم الخاصية بالكامل.
Property | |||||
---|---|---|---|---|---|
which | Yes | 9.0 | Yes | Yes | Yes |
بناء الجملة
event.which
تفاصيل تقنية
قيمة الإرجاع: | رقم يمثل إما رمز حرف Unicode أو رمز مفتاح Unicode |
---|---|
إصدار DOM: | أحداث DOM المستوى 2 |
مزيد من الأمثلة
مثال
استخدام onkeypress و onkeydown لتوضيح الاختلافات بين رموز الأحرف ورموز لوحة المفاتيح:
<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)">
function uniCharCode(event) {
var char = event.which || event.keyCode; // event.keyCode is used for IE8 and earlier
document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " + char;
}
function uniKeyCode(event) {
var key = event.which || event.keyCode; // event.keyCode is used for IE8 and earlier
document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key;
}
عند الضغط على مفتاح "a" بلوحة المفاتيح (وليس باستخدام caps lock) ، ستكون نتيجة حرف ومفتاح :
Unicode CHARACTER code: 97
Unicode KEY code: 65
مثال
تنبيه بعض النص إذا ضغط المستخدم على مفتاح Escape:
<input type="text" onkeydown="myFunction(event)">
function myFunction(event) {
var x = event.which || event.keyCode; // event.keyCode is used for IE8 and earlier
if (x == 27) { // 27 is the ESC key
alert ("You pressed the Escape key!");
}
}
مثال
تحويل قيمة Unicode إلى حرف (لا يعمل مع مفاتيح الوظائف):
var x = event.which || event.keyCode; // Get the Unicode value
var y = String.fromCharCode(x); // Convert the value into a character
الصفحات ذات الصلة
مرجع HTML DOM: خاصية مفتاح KeyboardEvent
مرجع DOM HTML: خاصية KeyboardEvent keyCode
مرجع HTML DOM: خاصية KeyboardEvent charCode