Javascript 如何在一个文件中简单地组合JS函数
我正在使用一些简单的IF/show/hide脚本 我已经设法让脚本的独立部分正常工作,但由于某些原因,它们相互冲突,我不知道如何将这两个部分合并到一个文件中 这两个字段都设计为在选择上一个表单字段时显示新表单字段 第一:Javascript 如何在一个文件中简单地组合JS函数,javascript,jquery,Javascript,Jquery,我正在使用一些简单的IF/show/hide脚本 我已经设法让脚本的独立部分正常工作,但由于某些原因,它们相互冲突,我不知道如何将这两个部分合并到一个文件中 这两个字段都设计为在选择上一个表单字段时显示新表单字段 第一: $(文档).ready(函数(){ 切换字段(); $(“#tukreward”)。更改(函数(){ 切换字段(); }); }); 函数toggleFields(){ if($(“#tukreward”).val()=“感兴趣”) $(“#tukFollow”).show()
$(文档).ready(函数(){
切换字段();
$(“#tukreward”)。更改(函数(){
切换字段();
});
});
函数toggleFields(){
if($(“#tukreward”).val()=“感兴趣”)
$(“#tukFollow”).show();
其他的
$(“#tukFollow”).hide();
}
它们都创建并调用一个函数toggleFields()
。加载第二个脚本时,第二个脚本将覆盖第一个脚本的定义。最简单的解决方案是将第二个文件的toggleFields
更改为toggleFields2
在不同的js文件中使用相同的函数名不是最佳做法。外部Js可用于跨页面定义通用函数,并可包含在页面中 您正在创建两个同名函数,第二个函数将覆盖第一个函数
我的建议是使用单个函数并添加参数,以避免重复
// First file
function toggleFields(fieldToCheckQuery, fieldToCheckShowValue, fieldToShowHideQuery) {
if ($(fieldToCheckQuery).val() == fieldToCheckShowValue) {
$(fieldToShowHideQuery).show();
} else {
$(fieldToShowHideQuery).hide();
}
}
// Second file
function toggleTuk() {
toggleFields("#tukreward", "interested", "#tukFollow");
}
$(document).ready(function () {
toggleTuk();
$("#tukreward").change(toggleTuk);
}
// Third file
function toggleAccident() {
toggleFields("#accident", "yes", "#accidentFollow");
}
$(document).ready(function () {
toggleAccident();
$("#accident").change(toggleAccident);
})) 不,您没有建议
切换字段2
。如何toggleTuk
和toggleAccident
?听取了您的建议,因为我将继续添加更多内容。您最好创建一个toggleFields
函数,用于处理所有输入。仅仅为每个用例创建一个功能相同但参数不同的新函数是愚蠢的代码>到$(“#事故”)。更改(切换字段)