속تار keyCode واقعه KeyboardEvent

تعریف و استفاده

속تار keyCode واقعه KeyboardEvent را برمی‌گرداند رویداد onkeypress کد حرف Unicode کلیدهای یا واقعه‌ای که onkeydown یا رویداد onkeyup کد کلیدهای Unicode

تفاوت بین دو نوع کد:

  • کد حرف - شماره‌ای که نمایانگر حرف‌های ASCII است
  • کد کلید - نمایانگر عدد واقعی کلید موجود در صفحه‌کلید

این نوع‌ها همیشه به معنای یک چیز نیستند. به عنوان مثال، کلیدهای کوچک "w" و بزرگ "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)"> 
function uniCharCode(event) {
  var 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 کلید ESC است
    alert ("شما کلید فرار را فشار دادید!");
  }
}

آزمایش کنید

مثال 4

مقدار Unicode را به کاراکتر تبدیل کنید (برای کلیدهای عملیاتی مناسب نیست):

var x = event.keyCode;                // مقدار Unicode را دریافت کنید
var y = String.fromCharCode(x);       // مقدار را به کاراکتر تبدیل کنید

آزمایش کنید

رابط‌نویسی

رویداد.keyCode

جزئیات فنی

مقدار بازگشتی: ارقام عددی، که نشان‌دهنده کد Unicode کاراکتر یا کد کلید Unicode است.
نسخه DOM: رویدادهای DOM Level 2

پشتیبانی مرورگر

ویژگی‌ها Chrome IE Firefox Safari Opera
keyCode پشتیبانی پشتیبانی پشتیبانی پشتیبانی پشتیبانی

صفحات مرتبط

دستورالعمل HTML DOM:ویژگی key رویداد KeyboardEvent

دستورالعمل HTML DOM:ویژگی charCode رویداد KeyboardEvent

دستورالعمل HTML DOM:ویژگی which رویداد KeyboardEvent