Sự kiện nhấn phím xảy ra khi nhấn phím, ngay sau đó là sự kiện nhấn phím. Sau đó, sự kiện keyup được tạo khi khóa được phát hành.
Để hiểu sự khác biệt giữa phím tắt và phím bấm , rất hữu ích để phân biệt giữa các ký tự và phím . Một chìa khóa là một nút vật lý trên bàn phím của máy tính. Một ký tự là một biểu tượng được gõ bằng cách nhấn một nút. Trên bàn phím Hoa Kỳ, nhấn 4phím trong khi giữ Shiftphím thường tạo ra ký tự "ký hiệu đô la". Điều này không nhất thiết là trường hợp trên mọi bàn phím trên thế giới. Về lý thuyết, các sự kiện keydown và keyup đại diện cho các phím được nhấn hoặc nhả, trong khi nhấn phímsự kiện đại diện cho một nhân vật được gõ. Trong thực tế, điều này không phải lúc nào cũng được thực hiện.
Trong một thời gian, một số trình duyệt đã kích hoạt một sự kiện bổ sung, được gọi là textInput , ngay sau khi nhấn phím . Các phiên bản ban đầu của tiêu chuẩn DOM 3 dự định đây là sự thay thế cho sự kiện nhấn phím , nhưng toàn bộ khái niệm này sau đó đã bị thu hồi. Webkit hỗ trợ điều này giữa các phiên bản 525 và 533 và tôi đã nói với IE đã hỗ trợ nó, nhưng tôi chưa bao giờ phát hiện ra điều đó, có thể vì Webkit yêu cầu nó phải được gọi là textInput trong khi IE gọi nó là textinput .
Ngoài ra còn có một sự kiện được gọi là đầu vào , được hỗ trợ bởi tất cả các trình duyệt, được kích hoạt ngay sau khi thay đổi được thực hiện đối với vùng văn bản hoặc trường đầu vào. Thông thường nhấn phím sẽ kích hoạt, sau đó ký tự được gõ sẽ xuất hiện trong vùng văn bản, sau đó nhập sẽ kích hoạt. Sự kiện đầu vào không thực sự cung cấp bất kỳ thông tin nào về khóa được nhập - bạn phải kiểm tra hộp văn bản để tìm ra sự thay đổi - vì vậy chúng tôi không thực sự coi đó là sự kiện chính và không thực sự ghi lại ở đây . Mặc dù ban đầu nó chỉ được định nghĩa cho textareas và hộp đầu vào, tôi tin rằng có một số chuyển động trong việc khái quát hóa nó để bắn vào các loại đối tượng khác.