Tôi muốn tắt cuộn khi tôi nhấn phím cách. Điều này chỉ xảy ra trong firefox.Tắt di chuyển xuống khi nhấn phím cách trên firefox
Tôi đã sử dụng chế độ xem tràn: chế độ xem ẩn và thẻ meta.
Cảm ơn.
Tôi muốn tắt cuộn khi tôi nhấn phím cách. Điều này chỉ xảy ra trong firefox.Tắt di chuyển xuống khi nhấn phím cách trên firefox
Tôi đã sử dụng chế độ xem tràn: chế độ xem ẩn và thẻ meta.
Cảm ơn.
Điều này sẽ thực hiện thủ thuật. Nó nói rằng khi phím cách được nhấn trên trang/tài liệu, nó không chỉ ngăn chặn hành vi mặc định của nó, mà còn trở lại trạng thái ban đầu.
trả về false dường như bao gồm ngăn chặnDefault. Source
Kiểm tra JQuery API để biết thêm thông tin về các sự kiện KeyDown - http://api.jquery.com/keydown/
window.onkeydown = function(e) {
return !(e.keyCode == 32);
};
JQuery dụ
$(document).keydown(function(e) {
if (e.which == 32) {
return false;
}
});
EDIT:
Như @ hổ phách-de-đen nói "mã trên sẽ chặn nhấn phím khoảng trắng trên đầu vào HTML ". Để khắc phục điều này, bạn e.target
chính xác nơi bạn muốn chặn phím cách. Điều này có thể ngăn chặn phím cách chặn các yếu tố khác như đầu vào HTML.
Trong trường hợp này, chúng tôi chỉ định spacebar cùng với mục tiêu cơ thể. Điều này sẽ ngăn chặn đầu vào bị chặn.
window.onkeydown = function(e) {
if (e.keyCode == 32 && e.target == document.body) {
e.preventDefault();
}
};
LƯU Ý: Nếu bạn đang sử dụng JQuery sử dụng e.which
thay vì e.keyCode
Source.
The event.which property normalizes event.keyCode and event.charCode
JQuery đóng vai trò như một normalizer cho một loạt các sự kiện. Nếu điều đó gây bất ngờ cho bất cứ ai đọc điều này. Tôi khuyên bạn nên đọc tài liệu Event Object của họ.
Mã này có thể chặn nhấn phím cách trên đầu vào HTML. Bạn phải kiểm tra (e.target === document.body) ở đây đầy đủ câu trả lời chính xác: http://stackoverflow.com/a/22559917/3120495 – Ujeenator
Bạn đã thử chụp sự kiện keydown trong javascript chưa? Nếu bạn đang sử dụng jQuery bạn có thể đọc thêm về chụp các sự kiện quan trọng ở đây: http://api.jquery.com/keydown/
Nếu bạn không phải là bạn có thể nắm bắt và bỏ qua các phím nhấn thanh không gian như đã mô tả ở đây: https://stackoverflow.com/a/2343597/1019092
@Alberto - hãy nhớ đọc một phần câu trả lời có nội dung * "đây là hành vi được mong đợi trong hầu hết các trình duyệt. Tôi sử dụng nó mọi lúc và tôi cực kỳ khó chịu khi nó không hoạt động trong một trang. "* –
Detect nếu spacebar là bị ép. Nếu có, hãy ngăn chặn hành vi mặc định của nó.
document.documentElement.addEventListener('keydown', function (e) {
if ((e.keycode || e.which) == 32) {
e.preventDefault();
}
}, false);
Vui lòng kiểm tra thanh bên "có liên quan" ở bên phải. http://stackoverflow.com/questions/2343573/pressing-spacebar-moves-page-down – showdev