我正在使用一些应用程序输出的Web代码,我在输出开始时几乎无法控制
<script type="text/javascript" src="wpscripts/jquery.js"></script>
<script type="text/javascript" src="wpscripts/jquery.wputils.js"></script>
<script type="text/javascript" src="wpscripts/jquery.validate.min.js"></script>
<script type="text/javascript">
wpRedirectMobile('http://www.somedomainaontheweb.com/m.results.php',0);
$(document).ready(function() {
$("a.ActiveButton").bind({ mousedown:function(){if ( $(this).attr('disabled') === undefined ) $(this).addClass('Activated');}, mouseleave:function(){ if ( $(this).attr('disabled') === undefined ) $(this).removeClass('Activated');}, mouseup:function(){ if ( $(this).attr('disabled') === undefined ) $(this).removeClass('Activated');}});
$("#form_2").validate({ onkeyup: false, showErrors: function(errorMap, errorList) { if (errorList.length) alert(errorList[0].message); }, onclick: false, rules: { 'Property_Price': { number: true } , 'Deposit': { number: true } , 'Duration': { number: true } , 'InterestRate': { number: true } }, onfocusout: false, messages: { 'Property_Price': { number: "Please enter the property purchase price." } , 'Deposit': { number: "Please enter your deposit amount or 0 if there is no deposit." } , 'Duration': { number: "Please enter the duration of the mortgage." } , 'InterestRate': { number: "Please enter the mortgage interest rate." } } });
$('#btn_4').click( function(){validate_form_2( form_2 )});
});
</script>
但在中间附近我必须添加以下代码;
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="scripts.js"></script>
<!-- Used to display the finger pointer image if the number of results pages exceeds 14, for mobile devices -->
<script type="text/javascript">
$(document).ready(function() {
if (<?php echo $totalpage?> > 14) {
$('#fpointer').show();
}
});
</script>
因此,第二个代码块不再起作用,因为出现了jquery冲突。如果我能够更改第一个代码块,我可以使用没有冲突来解决问题但我无法访问它。如果我删除第二次调用jquery它可以工作,但我需要第二次调用,因为在其他页面上应用程序不包含第一个代码块,因此不包含jquery。
因为没有冲突只有在你第一次调用jquery时才会有效,我才会被卡住,有没有办法通过操纵第二块代码来解决这个冲突。
答案 0 :(得分:0)
你可以测试jQuery已经存在,只加载第二个,如果它没有:
<script>
if(!window.jQuery) {
document.write('<script type="text/javascript" src="jquery-1.7.1.min.js"><\/script>');
}
</script>
<script type="text/javascript" src="scripts.js"></script>
我不是使用document.write
的粉丝,但我认为需要确保在其余代码尝试运行之前插入脚本。