Lỗi bị ẩn trang khi click vào submit

Mô tả : Phương thức .focus() ràng buộc một event handler cho sự kiện focus của JavaScript hoặc kích hoạt sự kiện đó trên một phần tử.

Kiểu trả về : đối tượng jQuery

Cú pháp :

  • .focus(handler(eventObject))
    • Tham số :
      • handler(eventObject) : hàm được thực thi mỗi khi sự kiện được kích hoạt
    • Phiên bản được thêm vào : 1.0
  • .focus([eventData],handler(eventObject))
    • Tham số :
      • eventData: Tùy chọn, là một sơ đồ dữ liệu ( a map of data ) được truyền vào event handler
      • handler(eventObject) : hàm được thực thi mỗi khi sự kiện được kích hoạt
    • Phiên bản được thêm vào : 1.4.3
  • .focus()
    • Phiên bản được thêm vào : 1.0

Đây là cách gọi tắt của phương thức .bind(‘focus’,handler) trong dạng đầu tiên và thứ hai, và .trigger(‘focus’) trong dạng thứ ba.

Sự kiện focus sẽ được gửi đến 1 phần tử khi nó nhận được focus. Sự kiện này hoàn toàn có thể được áp dụng cho một tập hợp hữu hạn các phần tử, như các phần tử form (,

Trigger the handler  

Để khi click vào trường thứ nhất hoặc dùng phím Tab focus vào nó từ một trường khác sẽ hiển thị lên thông báo, bạn có thể viết :

$('

target').focus(function() {
alert('Handler for .focus() called.');  
});

Chúng ta cũng có thể kích hoạt sự kiện focus của phần tử

target khi một phần tử khác được click bằng cách :

$('

other').click(function() {
$('
# target').focus();

});

Sự kiện focus không hoạt động trong IE. Do đó, các script phụ thuộc vào sự kiện ủy quyền của sự kiện focus sẽ không tương thích với mọi trình duyệt. Tuy nhiên từ phiên bản 1.4.2, jQuery đã hạn chế điều này bằng cách map sự kiện focus với sự kiện focusin trong các phương thức ủy quyền của nó, .live() và .delegate()

Ví dụ 1: Khi thẻ input được focus, thực hiện thêm thuộc tính css cho thẻ span kế tiếp

  
  

focus fire

focus fire

Ví dụ 2: Ngăn người dùng gõ tiếp vào input text

$("input[type=text]").focus(function(){

$(this).blur();  
});

Ví dụ 3: Focus vào input login với id ‘login’ khi trang được load

$(document).ready(function(){

$("
# login").focus(); });

.blur()

Mô tả : Phương thức .blur() ràng buộc một event handler cho sự kiện blur của JavaScript hoặc kích hoạt sự kiện đó trên một phần tử.

Kiểu trả về : đối tượng jQuery

Cú pháp :

  • .blur(handler(eventObject))
    • Tham số :
      • handler(eventObject) : hàm được thực thi mỗi khi sự kiện được kích hoạt
    • Phiên bản được thêm vào : 1.0
  • .blur([eventData],handler(eventObject))
    • Tham số :
      • eventData: Tùy chọn, là một sơ đồ dữ liệu ( a map of data ) được truyền vào event handler
      • handler(eventObject) : hàm được thực thi mỗi khi sự kiện được kích hoạt
    • Phiên bản được thêm vào : 1.4.3
  • .blur()
    • Phiên bản được thêm vào : 1.0

Đây là cách gọi tắt của phương thức .bind(‘blur’,handler) trong hai dạng đầu, và .trigger(‘blur) trong dạng thứ ba.

Sự kiện blur sẽ được gửi đến 1 phần tử khi nó bị mất focus. Đầu tiên sự kiện này chỉ được chấp nhận cho các phần tử form chẳng hạn như thẻ . Trong các trình duyệt gần đây, phạm vi của sự kiện được mở rộng đến tất cả các loại phần tử. Một phần tử có thể bị mất focus thông qua lệnh từ bàn phím, chẳng hạn như phím Tab, hoặc bằng cách click chuột ra một chỗ khác trên trang.

Ví dụ, xem xét tài liệu HTML sau :

  
  
Trigger the handler  

Để gắn sự kiện .blur cho

target :

$('

target').blur(function() {
alert('Handler for .blur() called.');  
});

Bây giờ nếu thẻ input đầu tiên có focus thì khi người dùng click ra một nơi khác hoặc ấn phím Tab chuyển đến 1 phần tử khác thì sẽ hiện lên thông báo “Handler for .blur() called”)

Để kích hoạt sự kiện một cách tự động, bạn có thể gọi .blur() không có tham số. Đoạn code sau có tác dụng khi người dùng click vào

other thì sự kiện .blur của

target sẽ được kích hoạt.

$('

other').click(function() {
$('
# target').blur();

});

Sự kiện blur không hoạt động trong IE. Do đó, các script phụ thuộc vào sự kiện ủy quyền của sự kiện blur sẽ không tương thích với mọi trình duyệt. Tuy nhiên từ phiên bản 1.4.2, jQuery đã hạn chế điều này bằng cách map sự kiện blur với sự kiện focusout trong các phương thức ủy quyền của nó, .live() và .delegate()

Ví dụ: Kích hoạt sự kiện blur trên tất cả các đoạn văn :

$("p").blur();

.change()

Mô tả : Phương thức .change() ràng buộc một event handler cho sự kiện change của JavaScript hoặc kích hoạt sự kiện đó trên một phần tử.

Kiểu trả về : đối tượng jQuery

Cú pháp :

  • .change(handler(eventObject))
    • Tham số :
      • handler(eventObject) : hàm được thực thi mỗi khi sự kiện được kích hoạt
    • Phiên bản được thêm vào : 1.0
  • .change([eventData],handler(eventObject))
    • Tham số :
      • eventData: Tùy chọn, là một sơ đồ dữ liệu ( a map of data ) được truyền vào event handler
      • handler(eventObject) : hàm được thực thi mỗi khi sự kiện được kích hoạt
    • Phiên bản được thêm vào : 1.4.3
  • .change()
    • Phiên bản được thêm vào : 1.0

Đây là cách gọi tắt của phương thức .bind(‘change’,handler) trong hai dạng đầu, và .trigger(‘change’) trong dạng thứ ba.

Sự kiện change sẽ được gửi đến 1 phần tử khi giá trị của nó thay đổi.Sự kiện này chỉ được chấp nhận cho các phần tử ,