Трябва да добавя нова версия на jquery в главата, както е показано по-долу.
<head>
<script type="text/javascript" async="" src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">var $jq = jQuery.noConflict(true);</script>
<script>
$jq(document).ready(function() {
// works well
});
</script>
</head>
Той работи добре, когато го поставя директно. Но моят случай е, че трябва да го добавя динамично, reslove noconflict и изпълнението с помощта на външен javascript файл (my.js). (Както по-долу)
my.js файлът трябва да се състои от цялото изпълнение.
// insert jquery file
var jqueryfile = document.createElement("script");
jqueryfile.type = "text/javascript";
jqueryfile.async = true;
jqueryfile.src = "//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(jqueryfile, s);
Как да направя изпълнението си с jQuery.noConflict () и $ jq (документ) .ready (функция () {}).
Благодаря ти!
Отговори:
0 за отговор № 1Можете да опитате това, за да вмъкнете скрипт в раздел HEAD
head1=document.getElementsByTagName("head")[0];
var s = document.createElement("script");
s.type = "text/javascript";
s.src = "//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";
var s1 = document.createElement("script");
s1.type = "text/javascript";
s1.innerHTML="var $jq = jQuery.noConflict(true);
$jq(document).ready(function() {
// works well
});
";
head1.appendChild(s);
head1.appendChild(s1);
0 за отговор № 2
трябва само да включите обикновен js файл по обичайния начин, така както и псевдоним jQuery като параметър, освобождавайки знака за долар:
<script type="text/javascript">js/scripts.js</script>
и след това добавете това към вашия файл scripts.js:
;(function ( $ ) {
// all code in this anonymous function will not conflict with any other library
// and it will never get in to the global namespace which is good
$(document).ready(function() {
// works well
});
})( jQuery );
сега можете просто да използвате "$" за jQuery свободно