Tôi có một mối quan tâm về khả năng sử dụng trên trang web của tôi. Tôi có một tập hợp các tab, mỗi tab chứa một biểu mẫu. Khi bạn nhấp vào liên kết tab, nó sẽ tập trung vào hộp văn bản đầu tiên trong nội dung tab. Những người định hướng chuột yêu thích "tính năng" này. Vấn đề là khi người dùng định hướng bàn phím sử dụng phím TAB trên bàn phím của họ để xem qua các tab. Họ nhấn enter trên tab mà họ muốn xem, sự kiện nhấp sẽ kích hoạt và tab hiển thị, nhưng tiêu điểm được đưa vào hộp văn bản, điều chỉnh thứ tự tab của chúng hoàn toàn. Vì vậy, khi họ nhấn tab lần nữa, họ muốn chuyển đến tab tiếp theo trên màn hình, nhưng vì tiêu điểm được di chuyển bên trong biểu mẫu nên họ không thể dễ dàng truy cập tab tiếp theo bằng bàn phím.Sự kiện nhấp chuột jQuery - Làm cách nào để biết liệu con chuột đã được nhấp hay đã nhập phím đã được nhấn chưa?
Vì vậy, trong sự kiện nhấp chuột tôi cần xác định xem họ có thực sự nhấp vào sự kiện đó bằng nút chuột hay không. Điều này có thể không? Nỗ lực đầu tiên của tôi là thế này:
$("#tabs li a").click(function(e) {
var tab = $(this.href);
if(e.keyCode != 13)
$("input:first", tab).focus();
});
Nhưng keyCode
luôn là 0. Thuộc tính which
cũng phải lúc nào cũng 0. Xin giúp!
Bạn có thể hack xung quanh nó bằng cách đặt trình xử lý .focus() vào hộp văn bản với một chút logic. – krasnerocalypse
@krasnericalypse Err, không thực sự. Khi tiêu điểm được đưa vào hộp văn bản/thả xuống thì đã quá muộn để phục hồi. –
haha. Đây là một trong những khó khăn. – krasnerocalypse