Tôi đã bắt đầu thói quen bắt đầu mã hóa jquery với hàm sẵn sàng $(function(){...});
và đặt tất cả các hàm gọi từ sẵn sàng trong sẵn sàng.
Sau đó, tôi nhận ra rằng một số chức năng được đưa vào chức năng sẵn sàng có thể không cần phải ở đó.
Ví dụ, chức năng đơn giản được sử dụng bởi các sự kiện trong tài liệu sẵn sàng có thể được khai báo bên ngoài của nó:
function checkEmail(objelement){
var emailRx = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/;
return emailRx.test(objelement.val()) ? true : false;
}
Sau đó, sử dụng bên trong của nó:
//code snippet for example
$(function(){
$("form[name='contactform']").submit(function(){
$("input[type=text]").each(function(){
if($(this).attr("id") == "email" && !checkEmail($(this))) {
$(this).prev().css("color","red");
}
});
});
});
Tôi đã tìm kiếm thông qua nhiều câu hỏi SO trước và dường như không thể tìm ra câu trả lời.
Tốt hơn, tệ hơn hoặc không khác nhau để khai báo các hàm bên ngoài sẵn sàng theo cách này? Các hàm
Tất cả các hàm được khai báo trong tiêu đề trang sẽ khả dụng khi sự kiện $ (document) .ready() kích hoạt. – BonyT
Quan trọng hơn các chức năng được khai báo ở bất kỳ đâu trong phạm vi trong javascript sẽ có thể truy cập được trong phạm vi đầy đủ (có, bạn có thể gọi một hàm và khai báo nó sau) –
+1 cho điều đó tốt hơn tôi @VirtualBlackFox – BonyT