2013-07-29 23 views
7

Tôi muốn chạy tập lệnh khi tải trang lần đầu tiên (cho giá trị mặc định của phần tử đã chọn), sau đó trên mỗi thay đổi của phần tử chọn. Có thể thực hiện nó trong một dòng không, hoặc tôi có cần lặp lại chức năng cho các sự kiện này không?Tôi có thể chạy chức năng jQuery và khi tải và thay đổi không?

tôi biết rằng tôi có thể sử dụng cấu trúc tiếp theo:

$('#element').on('keyup keypress blur change', function() { 
    ... 
}); 

Nhưng nó dường như không ủng hộ sự kiện tải.

Bất kỳ ý tưởng nào?

Trả lời

9

Nếu tôi hiểu những gì bạn có nghĩa là, chỉ cần kích hoạt bất kỳ một trong những sự kiện này:

$('#element').on('keyup keypress blur change', function() { 
    ... 
}).triggerHandler('keyup'); //or trigger('keyup') or keyup() which then let event propagate 
+0

Đây chắc chắn là cách đơn giản nhất từ ​​đề xuất, vì vậy tôi chấp nhận câu trả lời này. – Braggae

5

cho các phần tử thay đổi sử dụng của bạn:

$('#element').on('change', function() { 
    ... 
}); 

và sử dụng cùng chức năng trên tải cơ cấu sử dụng lần đầu tiên như:

jQuery(window).on("load", function(){ 

    $('#element').change(); 

}); 

để gọi cùng chức năng

3

Thay vì sử dụng các hàm ẩn danh (xác định chúng đúng nơi chúng sẽ được sử dụng), bạn chỉ có thể tạo một hàm bình thường và yêu cầu jQuery gọi nó khi các sự kiện đó xảy ra.

$(document).ready(myFunction); 
$('#element').on('keyup keypress blur change', myFunction); 

function myFunction() { 
    // Do something here... 
} 
Các vấn đề liên quan