2009-07-22 30 views
11

Tôi cần chụp một sự kiện nhấn phím trên một số đầu vào động, nhưng cú pháp thông thường bằng cách sử dụng sự kiện nhấn phím dường như không bắt được mã khóa.jQuery: cách chụp phím bấm bằng live()

$('input').live('keypress', function (e) { 
    if (e.which == 9) 
     alert('Tab pressed'); 
}); 

Điều này có vẻ như đang bị đánh 0 khi nhấn phím khi tôi đi qua trình gỡ lỗi trong con bọ lửa bất kể phím nào tôi nhấn.

Trả lời

25

Hãy thử nó với .keyCode thay vì Nào:

$('input').live('keypress', function (e) { 
    if (e.keyCode == 9){ 
     alert('Tab pressed'); 
    } 
}); 

Seem để làm việc;)

8

Hãy thử lắng nghe keyup hoặc keydown thay vì keypress (per this SO post)

+1

Thật vậy. quirksmode cũng có thông tin về khả năng tương thích trình duyệt của các sự kiện và các trình duyệt cụ thể có một số phím nhất định. Tôi đã chọn 'keydown' trong mã của mình. –

Các vấn đề liên quan