ok, tôi cần mã của tôi để kiểm tra xem trừ/trừ/- đã được nhấn, nếu nó được nhấn tôi muốn một hộp cảnh báo để bật. tôi đã thử với cả mã khóa 109
và 189
nhưng tôi vẫn không nhận được kết quả mong muốn. mặc dù tôi bấm "-"
tôi không nhận được rằng hộp cảnh báojavascript trừ (-) mã khóa
Trả lời
JavaScript charCodes, mà bạn đã sử dụng trong một sự kiện phím nhấn, là ASCII. 109 là mã khóa chính xác, nếu được sử dụng trong sự kiện keydown hoặc keyup.
"-" có một charCode 45.
bài viết một số mã. Này làm việc cho tôi:
document.onkeydown = function (e) {
if (e.keyCode === 109 || e.keyCode === 189) {
alert('minus sign pressed');
}
};
danh sách đầy đủ các mã chủ chốt ở đây: http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes.aspx
Không thực hiện việc này trong sự kiện 'phím tắt '. Xem câu trả lời của tôi. –
189 không phải là dấu trừ cho tất cả bố cục bàn phím. –
Trong trang mẫu, bố cục bàn phím là tiếng Anh. Đó không phải là trường hợp ở khắp mọi nơi. – kernel
Bạn có thể khám phá mã phím theo cách này:
liên kết đầu tiên không hợp lệ nữa – abzarak
@abzarak, cố định –
Tôi hy vọng điều này phù hợp với bạn, Nó phát hiện người dùng trước phím ssed và nếu đó là một trong những bạn đang tìm kiếm nó sẽ hiển thị cảnh báo, bạn có thể thay đổi phím thực tế để được bất kỳ phím khác.
function detectSubstract(e)
{
var evtobj=window.event? event : e //distinguish between IE's explicit event object (window.event) and Firefox's implicit.
var unicode=evtobj.charCode? evtobj.charCode : evtobj.keyCode
var actualkey=String.fromCharCode(unicode)
if (actualkey=="-")
{
alert('You pressed the minus key')
}
}
document.onkeypress=detectSubstract
Đừng làm điều này trong một xử lý sự kiện keydown
- bạn đặt mình vào lòng thương xót của những ý tưởng trình duyệt khác nhau về các mã chủ chốt và biến thể tiềm năng giữa các mã chủ chốt đối với các loại bàn phím khác nhau. Làm điều đó trong một sự kiện keypress
và sau đó bạn có thể nhận được mã ký tự thay vào đó, đó là những gì bạn thực sự muốn.
document.onkeypress = function(evt) {
evt = evt || window.event;
var charCode = evt.which || evt.keyCode;
var charStr = String.fromCharCode(charCode);
if (charStr == "-") {
alert("Minus!");
}
};
Tất cả các thông tin bạn đã bao giờ có thể cần khoảng Javascript sự kiện chính: http://unixpapa.com/js/key.html
Thực ra 'keydown' là câu trả lời hay hơn' nhấn phím '. Nếu bạn nhìn vào danh sách tương thích (http://www.quirksmode.org/js/keys.html) 'nhấn phím 'không hoạt động trong một số phiên bản cũ của Firefox – Mottie
@fudgey: Tôi nghĩ bạn đang hiểu sai các bảng tương thích đó . Các thuộc tính 'charCode' và' which' của sự kiện 'keypress' đã vui vẻ báo cáo các mã ký tự chính xác trong Firefox kể từ lần đầu tiên tôi thử nó, mà tôi nghĩ là trước 1.0. Những gì bạn có thể chọn ra từ các bảng đó là Firefox luôn báo cáo 0 cho thuộc tính 'keyCode' của các sự kiện' nhấn phím ', đây thực sự không phải là vấn đề ở đây. –
@TimDown Cảm ơn bạn. Chrome đã làm việc với onkeydown và các mã chính 109 và 189 nhưng Firefox thì không. Sau khi chuyển sang onkeypress và phương pháp bạn mô tả, phát hiện '-' hoạt động tốt ở mọi nơi. –
1.event.keyCode = 109 là '-' trên numpad
2.event.keyCode = 189 là -' trong alphabate chính Bàn phím trên chrome
3.event.keyCode = 173 là '-' trong alphabate chính Bàn phím trên firefox & trên chrome 173 keycord là Mute On | Tắt
Tôi đánh giá cao sự hiểu biết của bạn về cách Firefox xử lý 'mã khóa 189'. Có vẻ ngớ ngẩn với tôi rằng không có tiêu chuẩn đặt ra cho những thứ như thế này. 'Mã khóa 189' là một' -' trên mọi trình duyệt mà tôi thử nghiệm trừ Firefox. Nhắc tôi về cách IE thích trở thành một trình duyệt của trình duyệt, bất kể các vấn đề không tương thích phát sinh từ sự trượt tuyết hoang dã của họ. Cảm ơn một lần nữa vì sự giúp đỡ của bạn. – Landslyde
- 1. trừ ngày javascript
- 2. Trừ ngày trong JavaScript
- 3. "Khóa không hợp lệ". ngoại trừ khi giải mã với RSACryptoServiceProvider (C# .NET)
- 4. Javascript 'arguments' Từ khóa
- 5. mã khóa 13 là khóa
- 6. Số ngày trừ Javascript từ ngày
- 7. Bản đồ Mã khóa NSEvent mã khóa ảo
- 8. Tự xóa bù trừ thiết lập Javascript?
- 9. Từ khóa mặc định Javascript
- 10. Không thể hiểu từ khóa "trừ khi" trong Ruby
- 11. Loại trừ mã được tạo trong sonar
- 12. Khóa() {} khóa tài nguyên, hay nó khóa một đoạn mã?
- 13. Thuật toán mã hóa khóa đối xứng
- 14. Backbone-relational: Khóa liên kết sẽ không hoạt động trừ khi nó giống với khóa ngoài
- 15. Khóa loại trừ lẫn nhau Cassandra (đồng bộ)
- 16. Javascript nhiều khóa bị nén
- 17. mã khóa cho shift + tab là gì?
- 18. cộng hoặc trừ chênh lệch múi giờ thành javascript Ngày
- 19. Tạo cặp khóa RSA trong JavaScript
- 20. Mã hóa khóa-giá trị
- 21. Mã khóa phù hợp cho `#`
- 22. Cách hiểu mã JavaScript được tạo bởi từ khóa 'extends` của CoffeeScript
- 23. Điểm của khóa API javascript khi ai có thể xem mã js
- 24. Mảng trừ trừ
- 25. Cách tìm mã khóa cho một khóa cụ thể
- 26. Entity Framework Khóa ngoài là Mã khóa chính Đầu tiên
- 27. Tổ chức mã javascript
- 28. php chạy mã javascript
- 29. Mã hóa JavaScript?
- 30. Mã hóa AES Javascript
cảm ơn, nơi tôi có thể tìm thấy một danh sách đầy đủ của các mã phím javascript? tôi tìm thấy một hoặc hai nhưng tôi thấy "-" là 109 và 189 – kmunky
http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes.aspx – Matt
ok, tôi có một cái tốt: P http://forums.devarticles.com/javascript-development-22/very-helpful-key-codes-list-72985.html – kmunky