gpt4 book ai didi

Javascript/JQuery 冲突

转载 作者:行者123 更新时间:2023-11-30 17:02:10 29 4
gpt4 key购买 nike

我是新手。我的页面上有两个 javascript/jquery。如果我使用第一个脚本,第二个脚本将不起作用。如果我删除第一个脚本,第二个脚本就可以正常工作。我不知道如何解决这个问题。我知道有一个“无冲突”的脚本。我试过了,但没有成功。我可能以错误的方式尝试过。请有人帮助我。我怎样才能同时运行它们?我已经发布了以下两个脚本:

脚本编号 1:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/
libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">

$(document).ready(function(){
$(".sign_in").click(function(){
$("#sign_box").show();
return false;
});
$("body #headerwrap").click(function(){
$("#sign_box").hide();
return false;
});
});

</script>

剧本编号:2

<script language="javascript" type="text/javascript">

var fieldstocheck = new Array();
fieldnames = new Array();
function checkform() {
for (i=0;i<fieldstocheck.length;i++) {
if (eval("document.subscribeform.elements['"+fieldstocheck[i]+"'].value")==""){
alert("Please enter your "+fieldnames[i]);
eval("document.subscribeform.elements['"+fieldstocheck[i]+"'].focus()");
return false;
}
}
return true;
}
function addFieldToCheck(value,name) {
fieldstocheck[fieldstocheck.length] = value;
fieldnames[fieldnames.length] = name;
}
</script>

最佳答案

页面上的第二个脚本在哪里?它需要更多有关它的信息才能了解发生了什么。

第二个脚本看起来很不祥,可能是非常古老的脚本。一些关注点:

  • 你所有的代码都被扔到全局对象
  • 未声明字段名(缺少变量)
  • 用 [] 声明数组优先于新的 Array() 语法
  • addFieldToCheck 和 checkform 函数似乎没有被使用(至少在您发布的代码中没有)
  • 它使用被认为是 bad practice 的 eval

为了一个良好的开端,请尝试将您的第二个包装在自调用匿名函数中:

(function() {
var fieldstocheck = [],
fieldnames = [];

function checkform() {
//...
}

}());

关于Javascript/JQuery 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28635155/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com