خصائص 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،ctrlKeymetaKey أو 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