2011-12-22 28 views
6

Tôi muốn tự gọi nhập sự kiện nhấn phím trên hộp văn bản thông qua JS hoặc jQuery.Có cách nào để gọi thủ công sự kiện "Nhập khóa" trên hộp văn bản không?

Tôi không muốn chụp sự kiện đó. Tôi chỉ muốn gọi nhập sự kiện nhấn phím.

+3

Bạn có muốn gửi một hình thức? –

+0

Bạn muốn đạt được điều gì? Sự kiện đó có nên kích hoạt trình xử lý khóa hiện có được gắn với hộp văn bản không? –

Trả lời

8

Bạn có thể kích hoạt nó thích:

// dummy event listener 
$("input").keydown(function() { return true; }); 

var keyEvent = jQuery.Event("keydown"); 
keyEvent.keyCode = 13; 
$("input").trigger(keyEvent); 

Xem bài đăng này quá: Definitive way to trigger keypress events with jQuery

+0

Điều này có hiệu quả nếu một sự kiện không được kết nối bằng jQuery? –

+0

Không chắc chắn về điều đó. Tôi không nghĩ rằng nó sẽ! Để chống lại điều này bạn có thể thêm một giả 'nghe' mà không có gì và trả về true. Tôi đã thêm một người nghe giả trong câu trả lời của tôi. – techfoobar

+2

LOL @ liên kết đến cùng một bài đăng! Cùng một điều anh chàng này đã làm: http://stackoverflow.com/a/8608515/398242 –

0

Kích hoạt các sự kiện với jQuery:

$(document).trigger('keypress'); 
0

Bạn đang tìm kiếm sự kiện tổng hợp. Nó khá phức tạp. Thư viện sau sẽ chăm sóc của nó cho bạn ... http://jupiterjs.com/news/syn-a-standalone-synthetic-event-library

Dưới đây là ví dụ mã sử dụng lib của họ

Syn.click({},'hello') 
    .type('Hello World') 
    .delay()   //waits 600ms seconds by default 
    .drag($('#trash') , function() { 
    ok($('#hello').length == 0, "removed hello") 
    }); 
Các vấn đề liên quan