2010-08-16 33 views
5

Tôi có trang loại AJAX-y. Khi người dùng nhấp vào "GO", tôi cần thực thi một hàm javascript cụ thể. Tôi cũng muốn mô phỏng nhấp chuột "GO" khi người dùng truy cập "Enter" hoặc "Return. Xin lưu ý rằng tôi không muốn" gửi "trang. Lý do tại sao là vì tôi đang làm mọi thứ thông qua JavaScriptXử lý khóa "Enter"/"Return" trong Chrome

Để xử lý "Enter"/"Return" nhấn phím trong IE và FireFox, tôi đang sử dụng đoạn mã sau:

$(document).ready(function() { 
    $('#root').keypress(function(e) { 
    if (e.keyCode == '13') { 
     goButton(); 
    } 
    }); 
}); 

Thật không may, mã này không hoạt động trong Chrome các goButton() chức năng được gọi là..

Trả lời

6

Giả sử bạn có một hình thức:

$('#theForm').submit(function(e){ 
    e.preventDefault(); 
    goButton(); 
    return false; // just to be sure. 
}); 

Bạn cần phải ngăn chặn các sự kiện gửi từ hình thức, mà được gọi là khi biểu mẫu đã tập trung và một máy ép dùng đi vào.

3

Tôi đồng ý với BGerrissen, đó là cách tiếp cận tốt nhất. Tuy nhiên, để thích ứng tốt hơn với mã của bạn, bạn chỉ có thể thêm các điểm dừng vào chức năng hiện tại của mình:

$(document).ready(function() { 
    $('#root').keypress(function(e) { 
    if (e.keyCode == '13') { 
     e.preventDefault();//Stops the default action for the key pressed 
     goButton(); 
     return false;//extra caution, may not be necessary 
    } 
    }); 
}); 
Các vấn đề liên quan