phương thức jQuery noConflict()

Làm thế nào để sử dụng jQuery và các khung khác cùng nhau trên trang?

jQuery và các khung JavaScript khác

Như bạn đã biết, jQuery sử dụng ký hiệu $ làm ký hiệu viết tắt của jQuery.

Nếu khung công tác JavaScript khác cũng sử dụng ký tự $ làm viết tắt thì sao?}

Một số khung công tác JavaScript khác bao gồm: MooTools, Backbone, Sammy, Cappuccino, Knockout, JavaScript MVC, Google Web Toolkit, Google Closure, Ember, Batman và Ext JS.

Một số khung công tác khác cũng sử dụng ký tự $ làm viết tắt (như jQuery), nếu bạn sử dụng hai khung công tác khác nhau đang sử dụng cùng một ký tự viết tắt, nó có thể dẫn đến việc script không chạy.

Đội ngũ jQuery đã考虑到这个问题,並实现了 phương thức noConflict().

phương thức jQuery noConflict()

phương thức noConflict() sẽ giải phóng quyền kiểm soát của ký tự $, từ đó các script khác có thể sử dụng nó.

Ví dụ

Tất nhiên, bạn vẫn có thể sử dụng tên đầy đủ để thay thế viết tắt của jQuery:

$.noConflict();
jQuery(document).ready(function(){
  jQuery("button").click(function(){
    jQuery("p").text("jQuery vẫn đang chạy!");
  });
});

thử ngay

Ví dụ

Bạn cũng có thể tạo viết tắt của riêng mình. phương thức noConflict() sẽ trả về tham chiếu đến jQuery, bạn có thể lưu vào biến để sử dụng sau này. Xem ví dụ này:

var jq = $.noConflict();
jq(document).ready(function(){
  jq("button").click(function(){
    jq("p").text("jQuery vẫn đang chạy!");
  });
});

thử ngay

Ví dụ

Nếu đoạn mã jQuery của bạn sử dụng viết tắt $ và bạn không muốn thay đổi cách viết tắt này, bạn có thể传递 ký tự $ làm biến cho phương thức ready. Như vậy, bạn có thể sử dụng ký tự $ trong hàm - và ngoài hàm, vẫn phải sử dụng "jQuery":

$.noConflict();
jQuery(document).ready(function($){
  $("button").click(function(){
    $("p").text("jQuery vẫn đang chạy!");
  });
});

thử ngay

Hướng dẫn tham khảo chính jQuery

Để xem tóm tắt đầy đủ về các phương pháp chính của jQuery, vui lòng truy cập Hướng dẫn tham khảo chính jQuery.