jQuery ສູນກາງ - noConflict()

ຄວາມທີ່

ນຳໃຊ້ noConflict() ການຈັດການຊື່ບໍລິເວນ jQuery ຂອງຄຳສັ່ງທີ່ເປັນຄຳສັ່ງສະເພາະ:

var jq=$.noConflict();

ທົດລອງຕົວຕົນ

ການອະທິບາຍ ແລະ ການນໍາໃຊ້

noConflict() ການຈັດການການຈັດການຄວບຄຸມຄວາມຄິດຕົວ $.

ການໃຊ້ນັ້ນປະສົບການປົດຄວບຄຸມ jQuery ຕໍ່ຄວາມຄິດຕົວ $.

ການໃຊ້ນັ້ນສາມາດນຳໃຊ້ຈະປະສົມກັບຊື່ບໍລິເວນ jQuery ຂອງຄຳສັ່ງທີ່ເປັນຄຳສັ່ງສະເພາະ.

ຂໍ້ສັງເກດ:ຂໍ້ສັງເກດ. ການໃຊ້ນັ້ນມີປະສິດຕິພາບຫຼາຍໃນຂະນະທີ່ຫ້ອງຄອມແມັງ JavaScript ອື່ນໆນຳໃຊ້ $ ຄືຊື່ຕົວວຽກຫຼືວຽກຂໍ້ມູນ.

ວິທິວິດ

jQuery.noConflict(removeAll)
ພຽງພໍ ອະທິບາຍ
removeAll ຄວາມຄິດ. ສະແດງວ່າຈະອະນຸຍາດການຍົກຍ້າຍຄວາມຄິດຕົວຂອງ jQuery ຢ່າງສົມບູນ.

ການອະທິບາຍ

ຫຼາຍຫ້ອງຄອມແມັງ JavaScript ນຳໃຊ້ $ ຄືຊື່ຕົວວຽກຫຼືວຽກຂໍ້ມູນ, jQuery ກໍ່ຢືນຢັນ. ໃນ jQuery, $ ແມ່ນພຽງແຕ່ຊື່ບໍລິເວນຕົວຂອງ jQuery, ເຖິງວ່າບໍ່ໃຊ້ $ ກໍ່ຈະຮັບການກະຕຸ້ນທັງໝົດ. ຖ້າພວກເຮົາຕ້ອງໃຊ້ຫ້ອງຄອມແມັງ JavaScript ອື່ນໆທີ່ບໍ່ແມ່ນ jQuery, ພວກເຮົາສາມາດເອິ້ນ $.noConflict() ເພື່ອກັບຄືນການຄວບຄຸມສຳລັບຫ້ອງຄອມແມັງດັ່ງກ່າວ:

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  // ການໃຊ້ຄອມແມັງອື່ນໆຂອງ $
</script>

ສາມາດປະສົມກັບ .ready() ການໃຊ້ເພື່ອຈະຕັ້ງຊື່ບໍລິເວນ jQuery, ການດັ່ງກ່າວນີ້ມີປະສິດຕິພາບຫຼາຍ:

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  jQuery(document).ready(function($) {
    // ການໃຊ້ jQuery $
  });
  // ການໃຊ້ຄອມແມັງອື່ນໆຂອງ $
</script>

ນອກຈາກນັ້ນທີ່ຈະສົ່ງຄຳສັ່ງ true ສຳລັບການຈະຍືດການຄວບຄຸມ $ ແລະ jQuery ກັບຫ້ອງຄອມແມັງໃນຕອນເກົ່າ. ກໍາລັງການກ່ອນກ່າວ!

ນີ້ແມ່ນການຂັ້ນຕອນທີ່ຫຼາຍກວ່າການນຳໃຊ້ noConflict, ຍ້ອນວ່າມັນຈະຍ້າຍຄວາມຂອງ jQuery. ມັນຈະຖືກໃຊ້ໃນສະຖານະທີ່ຫຼາຍຄວາມຫຼາຍ, ເຊັ່ນວ່າເຈົ້າຕ້ອງການວົງວາງ jQuery ໃນສະຖານະທີ່ມີຄວາມຂັດແຍ່ງຫຼາຍ. ເວລາດັ່ງກ່າວອາດຈະສົ່ງຜົນໃຫ້ຫົວວິທີບໍ່ສາມາດນຳໃຊ້ໄດ້.

ຄວາມທີ່

ຄວາມທີ່ 1

ການປ່ຽນສະນັ້ນອີກຫຼັງມາສູ່ອາງານໂຕເກີດຕົ້ນ:

jQuery.noConflict();
jQuery("div p").hide();	// ຄວາມທີ່ຢູ່ວ່າ jQuery
$("content").style.display = "none";	// ຄວາມທີ່ຢູ່ວ່າ $()

ຄວາມທີ່ 2

ການຟື້ນການນຳໃຊ້ຊື່ຫຼີ້ນຕົວ $ ແລະ ສ້າງ/ດຳເນີນຫົວວິທີກັບຄວາມທີ່ຢູ່ວ່າ $ ຍັງເປັນຊື່ຫຼີ້ນຕົວຂອງ jQuery ໃນຂອບເຂດການນຳໃຊ້. ໃນຫົວວິທີນີ້ $ ໄດ້ຫຼົງຫຼາຍ. ຫົວວິທີນີ້ສົມບູນສົມບູນສຳລັບສິ່ງທີ່ບໍ່ພັດທະນາວິທີຂອງຜູ້ນຳພະຍານອື່ນໆ:

jQuery.noConflict();
(function($) { 
  $(function() {
    // ຄວາມທີ່ຢູ່ວ່າ $ ເປັນຊື່ຫຼີ້ນຕົວຂອງ jQuery
  });
})(jQuery);
... // ຄວາມທີ່ຢູ່ວ່າ ຜູ້ນຳພະຍານພາຍໃນ $

ຄວາມທີ່ 3

ສາມາດປະກອບ jQuery.noConflict() ກັບ ready ທີ່ຫຼິ້ນຫຼັງທີ່ຈະເຮັດໃຫ້ຄຳສັ່ງຫຼິ້ນຫຼາຍກວ່າ:

jQuery.noConflict()(function(){
    // ຄວາມທີ່ຢູ່ວ່າ jQuery
});
... // ຄວາມທີ່ຢູ່ວ່າ ຜູ້ນຳພະຍານພາຍໃນ $

ຄວາມທີ່ 4

ການສ້າງຊື່ຫຼີ້ນຕົວໃໝ່ສຳລັບ jQuery ໃນປະຈຸບັນ:

var j = jQuery.noConflict();
j("div p").hide();	// ຄວາມທີ່ຢູ່ວ່າ jQuery
$("content").style.display = "none";	// ຄວາມທີ່ຢູ່ວ່າ $()

ຄວາມທີ່ 5

ການຍ້າຍ jQuery ສູ່ຊຸມຊົນນາມໃໝ່ຢ່າງສົມບູນ:

var dom = {};
dom.query = jQuery.noConflict(true);

ຜົນຄະນະ:

dom.query("div p").hide();	// ຄວາມທີ່ຢູ່ວ່າ jQuery
$("content").style.display = "none";	// ຄວາມທີ່ຢູ່ວ່າ $()
jQuery("div > p").hide();	// ຄວາມທີ່ຢູ່ວ່າ jQuery