Home  >  Article  >  Web Front-end  >  How to implement jQuery conflict-free mode

How to implement jQuery conflict-free mode

清浅
清浅Original
2019-01-17 11:16:412862browse

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.

How to implement jQuery conflict-free mode

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:

How to implement jQuery conflict-free mode

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:

How to implement jQuery conflict-free mode

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn