jQuery - เมธอด noConflict()
จะเป็นอย่างไรถ้าคุณต้องการใช้เฟรมเวิร์กอื่นบนเพจของคุณในขณะที่ยังใช้ jQuery อยู่
jQuery และกรอบงาน JavaScript อื่นๆ
อย่างที่คุณรู้อยู่แล้ว jQuery ใช้$
เครื่องหมายเป็นทางลัดสำหรับ jQuery
มีเฟรมเวิร์ก JavaScript ยอดนิยมอื่นๆ มากมาย เช่น Angular, Backbone, Ember, Knockout และอื่นๆ
จะเกิดอะไรขึ้นหากเฟรมเวิร์ก JavaScript อื่นๆ ใช้เครื่องหมาย $ เป็นทางลัดด้วย
หากเฟรมเวิร์กสองเฟรมเวิร์กต่างกันใช้ช็อตคัทเดียวกัน เฟรมเวิร์กตัวใดตัวหนึ่งอาจหยุดทำงาน
ทีมงาน jQuery ได้คิดเกี่ยวกับเรื่องนี้แล้วและได้นำnoConflict()
วิธีการนี้ไปใช้
jQuery noConflict() Method
เมธอด จะnoConflict()
ปล่อยตัวระบุทางลัด $ เพื่อให้สคริปต์อื่นสามารถใช้งานได้
แน่นอน คุณยังสามารถใช้ jQuery ได้ เพียงแค่เขียนชื่อเต็มแทนทางลัด:
ตัวอย่าง
$.noConflict();
jQuery(document).ready(function(){
jQuery("button").click(function(){
jQuery("p").text("jQuery is still working!");
});
});
คุณยังสามารถสร้างทางลัดของคุณเองได้ง่ายมาก เมธอดส่งคืน การnoConflict()
อ้างอิงถึง jQuery ซึ่งคุณสามารถบันทึกในตัวแปรเพื่อใช้ในภายหลัง นี่คือตัวอย่าง:
ตัวอย่าง
var jq = $.noConflict();
jq(document).ready(function(){
jq("button").click(function(){
jq("p").text("jQuery is still working!");
});
});
หากคุณมีบล็อกของโค้ด jQuery ซึ่งใช้$
ทางลัดและคุณไม่ต้องการเปลี่ยนแปลงทั้งหมด คุณสามารถส่งการ$
ลงชื่อเข้าใช้เป็นพารามิเตอร์ไปยังเมธอด ready ได้ สิ่งนี้ช่วยให้คุณเข้าถึง jQuery โดยใช้$
ภายในฟังก์ชั่นนี้ - คุณจะต้องใช้ "jQuery":
ตัวอย่าง
$.noConflict();
jQuery(document).ready(function($){
$("button").click(function(){
$("p").text("jQuery is still working!");
});
});
jQuery การอ้างอิงเบ็ดเตล็ด
สำหรับภาพรวมทั้งหมดของเมธอด jQuery Misc โปรดไปที่ jQuery Misc Referenceของเรา