Method to implement jQuery conflict-free mode: first open the corresponding jQuery code file; then return control of the $ identifier to other JavaScript libraries through the noConflict method to resolve the conflict.
The operating environment of this article: Windows 7 system, jquery version 3.2.1, Dell G3 computer.
When we use jQuery code with other JavaScript libraries, conflicts may occur. For example, if you use the $ symbol in jQuery, you happen to encounter another one that uses the $ symbol as a shortcut. JavaScript library, this may cause conflicts. However, jQuery provides a special method to handle conflict situations. Next, in the article, we will introduce the conflict resolution method in jQuery in detail, which has certain reference value and I hope it will be helpful to everyone.
Method to resolve conflicts:
The method to resolve conflicts in jQuery is the noConflict() method, which returns control of the $identifier to other JavaScript libraries
The jQuery code in the following example will put jQuery into conflict-free mode as soon as it is loaded into the page and assign a new variable name $j to replace the $alias to avoid conflicts with the prototype framework. The detailed code is as follows:
// 为jQuery定义新的名字 var $j = jQuery.noConflict(); $j(document).ready(function(){ // 单击demo时弹出对话框 $j("#demo").click(function(){ alert("这是jQuery的新定义"); }); }); //原型框架代码 document.observe("dom:loaded", function(){ // 点击demo1显示弹出框 $(demo1).observe('click', function(event){ alert("原型与jQuery一起正常运行"); }); });
The rendering is as follows:
However, if you do not want to define another shortcut for jQuery and do not want to modify the existing jQuery code or If you feel that $ saves a lot of time in jQuery and is easy to use, then we can use another method instead
We can pass $ as a parameter to the jQuery(document).ready() function
// 为jQuery定义新的名字 jQuery.noConflict(); jQuery(document).ready(function($){ // The dollar sign in here work as an alias to jQuery $("#demo").click(function(){ alert("jQuery正在正常工作"); }); }); document.observe("dom:loaded", function(){ $(demo1).observe('click', function(event){ alert("jQuery与原型一起正常使用"); }); });
【Recommended course: jQuery Tutorial】
Rendering:
Note:
The above solution to avoid conflicts relies on loading jQuery after prototype.js is loaded. But if you include jQuery before other libraries, you can use the full name in the jQuery code to avoid conflicts without calling jQuery.noConflict(). But in this case, $ will have the meaning defined in other libraries
Summary: The above is the entire content of this article, I hope it will be helpful to everyone.
The above is the detailed content of How to implement jQuery conflict-free mode. For more information, please follow other related articles on the PHP Chinese website!