如何在不更改第三方库的情况下使用jquery noConflict

时间:2015-07-31 18:11:56

标签: javascript jquery

我需要使用我们在jquery中编写的第三方提供的库。一旦我尝试合并jquery,我们最终会在代码库中与$ sign冲突。我能够通过为$ sign创建别名来解决冲突,然后在第三方库中使用别名更新$ sign。由于它是由第三部分编写的代码,并且我对jquery不是很熟悉,我宁愿找到一种不涉及更新第三方代码本身的解决方法。我还有一个inlinne javascript(也由第三方提供),需要在页面本身被解雇。任何想法我该怎么做?下面是我正在使用的jquery文件的示例:

<!-- jquery libs -->
<script src="/js/jquery-1.11.1.min.js"></script>
<script src="/js/jquery-ui.min.js"></script>

<!-- third party library using jquery code-->
<script  type="text/javascript" src="/js/jqueryTest.js"></script>

<!-- inline javascript that gets fired on the page itself -->
 <script>
  $('#formvalue').jqueryTest({
   subdomain: 'xyz',
   selectData: function (data) {
   $('#formvalue').val(data.value);
   $('#form').submit();
  });
 </script>

2 个答案:

答案 0 :(得分:1)

这样你就可以编码:

var jq = $.noConflict();
jq(document).ready(function(){
    jq("button").click(function(){
        jq("p").text("jQuery is still working!");
    });
}); 

如需更多学习,请参阅以下链接 http://alexmarandon.com/articles/widget-jquery-plugins/

希望它有所帮助:)

答案 1 :(得分:0)

编辑第三方库不是一种正确的方法,因为它不可维护。

请参阅https://api.jquery.com/jquery.noconflict/中的此代码:

<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
    $.noConflict();
    // Code that uses other library's $ can follow here.
</script>

试试这个:

<!-- jquery libs -->
<script src="/js/jquery-1.11.1.min.js"></script>
<script src="/js/jquery-ui.min.js"></script>

<!-- third party library using jquery code-->
<script type="text/javascript" src="/js/jqueryTest.js">    </script>

<!-- inline javascript that gets fired on the page itself  <script>
$.noConflict();
$('#formvalue').jqueryTest({
    subdomain: 'xyz',
    selectData: function (data) {
        $('#formvalue').val(data.value);
        $('#form').submit();
    }
});
</script>

(您错过了代码中的}}。