Thứ Sáu, 13 tháng 2, 2009

Ví dụ các method của đối tượng Event trong JQuery

jQuery là hệ thống sự kiện bình thường hóa các sự kiện đối tượng theo các tiêu chuẩn W3C. Các đối tượng sự kiện được đảm bảo để được thông qua cho xử lý sự kiện. Hầu hết các properties từ các sự kiện bản gốc đều sao chép trên và bình thường hóa cho đối tượng sự kiện mới.

jQuery.Event Constructor

Các nhà xây dựng jQuery.Event được tiếp xúc và có thể được sử dụng khi kêu gọi trigger. Toán tử mới không bắt buộc. Kiểm tra trigger của tài liệu cho xem làm thế nào cho kết hợp nó với đối tượng sự kiện của riêng bạn.

Ví dụ:

//Tạo một đối tượng jQuery.Event mới mà không có sự điều hành "mới".
var e = jQuery.Event("click");

//Tạo một đối tượng jQuery.Event mới với các nhà điều hành "mới" (tùy chọn).
var e = new jQuery.Event("click");

Event Properties
Các tính chất sau đây có bảo đảm là thành viên của các đối tượng event, mặc dù một số các giá trị của nó có thể không xác định, tùy thuộc vào event:

altKey, attrChange, attrName, bubbles, button, cancelable, charCode, clientX, clientY, ctrlKey, currentTarget, data, detail, eventPhase, fromElement, handler, keyCode, layerX, layerY, metaKey, newValue, offsetX, offsetY, originalTarget, pageX, pageY, prevValue, relatedNode, relatedTarget, screenX, screenY, shiftKey, srcElement, target, toElement, view, wheelDelta, which

jQuery bình thường hóa các properties sau cho trình duyệt thống nhất:

  • target
  • relatedTarget
  • pageX
  • pageY
  • which
  • metaKey

Một số sự kiện gốc có thể có properties đặc biệt có thể được truy cập như là properties của đối tượng event.originalEvent. Để làm cho properties đặc biệt có sẵn trong tất cả các đối tượng sự kiện này, chúng ta có thể thêm chúng cho các mảng jQuery.event.props.

Ví dụ : jQuery.event.props.push("dataTransfer");

event.currentTarget

$("p").click(function(event) {
      alert( event.currentTarget === this ); // true
});

event.data : Các dữ liệu tùy chọn thông qua cho jQuery.fn.bind khi xử lý thực hiện được ràng buộc.

$("a").each(function(i) {
          $(this).bind('click', {index:i}, function(e){
                alert('my index is ' + e.data.index);
          });
});

event.isDefaultPrevented() : Trả về việc event.preventDefault() đã từng gọi đối tượng event này.

$("a").click(function(event){
          alert( event.isDefaultPrevented() ); // false
          event.preventDefault();
          alert( event.isDefaultPrevented() ); // true
});

event.isImmediatePropagationStopped() : Trả về việc event.stopImmediatePropagation()

function immediatePropStopped(e) {
      var msg = "";
      if ( e.isImmediatePropagationStopped() ) {
              msg = "called"
      } else {
              msg = "not called";
      }
      $("#stop-log").append( "
" + msg + "
" );
}

$("button").click(function(event) {
       immediatePropStopped(event);
       event.stopImmediatePropagation();
       immediatePropStopped(event);
});

Và còn nhiều nhiều các method của đối tượng Event.

DangTrung

Không có nhận xét nào:

Đăng nhận xét