KeyboardEvent which 属性
定义和用法
which 属性返回触发 رویداد onkeypress 的按键的 Unicode 字符码,或触发 onkeydown یا onkeyup 事件的按键的 Unicode 按键代码。
两种代码类型的区别:
- 字符代码 - 代表 ASCII 字符的数字
- 按键代码 - 代表键盘上实际键的数字
这些类型并不总是意味着同样的事情。例如,小写 "w" 和大写 "W" 的键盘代码相同,因为在键盘上按下的键是相同的("W" = 数字 "87"),但字符代码不同,因为 resulting 字符是不同的("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 را به حرف تبدیل کنید، از method fromCharCode().
نکته:این ویژگی فقط خواندنی است.
نکته:ارائه keyCode و which ویژگیها فقط برای سازگاری است. نسخههای جدیدتر استاندارد رویدادهای DOM توصیه میکنند که از ویژگی key استفاده شود (اگر ممکن باشد).
توضیح:اگر میخواهید بدانید که آیا در زمان وقوع رویداد کلیدهای "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 آئی ای 8 اور اس سے پہلے کی نسلیوں کیلئے استعمال کیا جاتا ہے document.getElementById("demo").innerHTML = "یونیکد حرف کا کد: " + char; } function uniKeyCode(event) { var key = event.which || event.keyCode; // event.keyCode آئی ای 8 اور اس سے پہلے کی نسلیوں کیلئے استعمال کیا جاتا ہے document.getElementById("demo2").innerHTML = "یونیکد کلید کا کد: " + key; }
اگر آپ نے کلیدپرداز پر "a" کلید دباؤ دی تو، چاراکٹر اور کلید کا نتیجہ:
یونیکد حرف کا کد: 97 یونیکد کلید کا کد: 65
مثال
اگر استعمال کنندہ اسکپ کلید دباؤ دی تو کچھ متنی کو نوٹیفائی کریں:
<input type="text" onkeydown="myFunction(event)"> function myFunction(event) { var x = event.which || event.keyCode; // event.keyCode آئی ای 8 اور اس سے پہلے کی نسلیوں کیلئے استعمال کیا جاتا ہے if (x == 27) { // 27 اس اسکپ کلید کا شمار ہے alert ("آپ نے اسکپ کی کلید دباؤ دی!"); } }
مثال
یونیکد کا ارزش کو حرف میں تبدیل کریں (فونکشن کلیدوں کیلئے نہیں استعمال کیا جاتا):
var x = event.which || event.keyCode; // یونیکد کا ارزش حاصل کریں var y = String.fromCharCode(x); // ارزش کو حرف میں تبدیل کریں
معلقہ صفحات
HTML DOM مرجع دستور زبان:ویژگی key رویداد KeyboardEvent
HTML DOM مرجع دستور زبان:ویژگی keyCode رویداد KeyboardEvent
HTML DOM مرجع دستور زبان:ویژگی charCode رویداد KeyboardEvent