Cách dùng chung jQuery với các thư viện javascript khác
Khi ứng dụng web của bạn dùng thư viện jQuery chung với các thư viện javascript khác như Prototype. Dùng nhiều trong cách tạo menu ,slideshow và các hiệu ứng ảnh ,sự xung đột sẽ xảy ra do 2 thư viện này đều dùng hàm $(). Sự tranh giành sẽ dẫn đến kết quả chỉ cho 1 thư viện chạy thôi còn thằng kia không hoạt động.
Để khắc phục việc này, bạn sử dụng phương thức jQuery.noConflict().bằng cách định nghĩa lại hàm
<html>
<head>
<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script type="text/javascript">
jQuery.noConflict();
// jQuery
jQuery(document).ready(function(){
jQuery("div").hide();
});
// Prototype
$('someid').hide();
</script>
</head>
<body></body>
</html>
Sau khi gọi phương thức noConflict(), bạn có thể dùng jQuery thay cho $.
ở đây nhằm mục đích bảo jQuery trả $ về cho Prototype (<b>ưu tiên prototype sử dụng $</b>).
kể từ lúc này, chúng ta sẽ không sử dụng $ cho jQuery nữa mà thay và đó là sử dụng chữ jQuery.
jQuery(document).ready(function($) { // code ở đây ta có thể sử dụng $ như thường! });
hay Bạn cũng có thể dùng bất kì tên nào mà bạn muốn bằng cách khai báo:
<script type="text/javascript">
var $bien = jQuery.noConflict();
</script>
Sau khi khai báo như trên, bạn có thể gọi:
<script type="text/javascript">
$bien('div').hide();
</script>
No comments: