خصائص KeyboardEvent which

التعريف والاستخدام

الخصائص التي تُشير إلى حدث onkeypress رمز الحرف Unicode للنص، أو الذي يسبب onkeydown أو onkeyup رمز الضغط على المفتاح للنص Unicode

الفرق بين نوعي الرموز

  • رمز الحرف - يمثل الرقم الحقيقي للرمز ASCII
  • رمز الضغط على المفتاح - يمثل الرقم الحقيقي للمفتاح على لوحة المفاتيح

لا تعني هذه الأنواع دائمًا نفس الشئ. على سبيل المثال، رمز لوحة المفاتيح الصغير "w" والكبير "W" هو نفسه، لأن المفتاح المضغوط هو نفسه ("W" = الرقم "87")، ولكن رمز الحرف مختلف، لأن الحرف الناتج هو مختلف ("w" أو "W"، أي "119" أو "87"). - يرجى الرجوع إلى الأمثلة أدناه للحصول على فهم أفضل.

نصيحة:للتحقق مما إذا كان المستخدم قد ضغط على مفتاح قابل للطبع (مثل "a" أو "5")، يُنصح باستخدام هذا الخصائص في أحداث onkeypress. للتحقق مما إذا كان المستخدم قد ضغط على مفتاح وظيفي (مثل "F1" أو "CAPS LOCK" أو "Home")، استخدم أحداث onkeydown أو onkeyup.

ملاحظة:لا يدعم إصدار IE8 وأقل منه خاصية which. يمكنك استخدام خاصية keyCode لهذه الإصدارات. ولكن لا يشتغل خاصية keyCode في أحداث onkeypress في Firefox. من أجل حل متوافق مع المتصفحات، يمكنك استخدام الكود التالي:

var x = event.which || event.keyCode;  // استخدم which أو keyCode بناءً على دعم المتصفح

نصيحة:للحصول على قائمة بجميع الحروف Unicode، يرجى الرجوع إلى مرجع Unicode الكامل.

نصيحة:إذا كنت تريد تحويل قيمة Unicode إلى حرف، استخدم طريقة fromCharCode().

ملاحظة:الخصائص قابلة للقراءة فقط.

ملاحظة:تم تقديم خصائص keyCode و which فقط للتوافق. يوصى باستخدام الخاصية key بدلاً من ذلك (إذا كانت متاحة) وفقًا للم.specifications الأحدث للمستجدات DOM.

نصيحة:إذا كنت تريد معرفة ما إذا كانت زر "ALT" أو "CTRL" أو "META" أو "SHIFT" قد تم ضغطها عند حدوث أحداث الضغط على الزر، استخدم altKey،ctrlKey،metaKey أو shiftKey الخصائص.

مثال

الحصول على قيمة Unicode للزر المضغط:

var x = event.which;

هناك أمثلة TIY أكثر في أسفل الصفحة.

جرب بنفسك

النص

event.which

تفاصيل تقنية

القيمة المعدة: قيمة رقمية، تمثل رمز الحرف الـ Unicode أو رمز الماوس الـ Unicode.
إصدار DOM: DOM Level 2 Events

دعم المتصفحات

الرقم في الجدول يشير إلى إصدار المتصفح الأول الذي يدعم هذه الخاصية بشكل كامل.

خصائص Chrome IE Firefox Safari Opera
which دعم 9.0 دعم دعم دعم

مزيد من الأمثلة

مثال

استخدام onkeypress و onkeydown لتوضيح الفرق بين رموز الحروف والرموز الديكودية للماوس

<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)"> 
function uniCharCode(event) {
  var char = event.which || event.keyCode; // event.keyCode يستخدم في إصدارات Internet Explorer 8 وما قبلها
  document.getElementById("demo").innerHTML = "كود CHARACTER Unicode: " + char;
}
function uniKeyCode(event) {
  var key = event.which || event.keyCode; // event.keyCode يستخدم في إصدارات Internet Explorer 8 وما قبلها
  document.getElementById("demo2").innerHTML = "كود KEY Unicode: " + key;
}

عند ضغط زر "a" على لوحة المفاتيح (بدون استخدام Capslock)، ستكون النتائج char وkey كالتالي:

كود CHARACTER Unicode: 97
كود KEY Unicode: 65

جرب بنفسك

مثال

إذا ضغط المستخدم على مفتاح الإفلات، يظهر نصًا:

<input type="text" onkeydown="myFunction(event)"> 
function myFunction(event) {
  var x = event.which || event.keyCode; // event.keyCode يستخدم في إصدارات Internet Explorer 8 وما قبلها
  if (x == 27) {  // 27 هو مفتاح الإفلات
    alert ("أضغطت على مفتاح الإفلات!");
  }
}

جرب بنفسك

مثال

تحويل القيمة Unicode إلى حرف (لا ينطبق على الأزرار 功能ية):

var x = event.which || event.keyCode;   // الحصول على القيمة Unicode
var y = String.fromCharCode(x);         // تحويل القيمة إلى حرف

جرب بنفسك

الصفحات ذات الصلة

دليل HTML DOM:خصائص key في KeyboardEvent

دليل HTML DOM:خصائص keyCode في KeyboardEvent

دليل HTML DOM:خصائص charCode في KeyboardEvent