속تار 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وctrlKey/،metaKey یا 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