我有大约 30 个网页,都是 HTML 表单。每个页面都有两个或多个不同的表单元素 - 选择、输入文本、复选框、文本区域 - 以及各种 ui 元素、弹出窗口、表单验证等。我正在尝试重构页面中使用的 jquery 以使用 DRY 原则但是我不知道该怎么做。这里有一些使用的 jquery 示例:
示例代码块 A:
$(".show-tool", _container).mouseover(function() {
$(this).nextAll(":hidden").css('display','block');
});
示例代码块 B:
$(".optional").blur(function(){
if ($(this).val() == '')
{
$(this).addClass('optional');
$(this).val('(Optional)');
}
});
示例代码块 C:
$('.howtoremain').click(function() {
$('.hiddendiv').slideToggle("10000");
if($(this).hasClass('howtoremain')) {
$(this).removeClass('howtoremain').addClass('howtoremain2');
}
else {
$(this).removeClass('howtoremain2').addClass('howtoremain');
}
});
所有这些都包含在 document.ready 中。上面的实际代码列表并不那么相关。我试图让每个 HTML 页面只包含相关的 jquery 代码。例如,第 1 页可能使用代码块 A 和 B。第 2 页可能使用 A、B、C、D、E 和 F。第 3 页可能使用代码块 C 和 G。而不是拥有一个巨大的文档。准备好每个代码块(如果一个代码块需要与同一表单元素的另一个代码块略有不同,这可能会在某些时候导致错误),你如何编码?每个代码块有一个 javascript 文件似乎也很糟糕,因为它会导致每页对服务器进行多次点击。我想我正在尝试获取一个大的 javascript 文件,但只在 document.ready 中初始化与每个页面相关的那些函数。