我刚刚进入我的 javascript(模式、命名空间、对象等),并试图在我的最新项目中实践其中的一些。
我有一个简单的表单,我正在尝试根据选中的复选框来显示/隐藏某些内容。HTML 无法更改(长篇大论),所以我只关注手头的 javascript 问题,也就是说,当 ID 不止一个时,我怎样才能很好地减少重复性?
脚本(我确定可以压缩)如下:
var prereg = {
hideItems: (function() {
document.getElementById('companyName-element').style.display = 'none';
document.getElementById('companyName-label').style.display = 'none';
})(),
showItems: function() {
var checkbox = document.getElementById('businessCustomer');
if(checkbox.checked) {
document.getElementById('companyName-element').style.display = 'block';
document.getElementById('companyName-label').style.display = 'block';
} else {
document.getElementById('companyName-element').style.display = 'none';
document.getElementById('companyName-label').style.display = 'none';
}
},
addEvent: function (el, ev, fn) {
if (el.addEventListener) {
el.addEventListener(ev, fn, false);
} else if (el.attachEvent) {
el.attachEvent('on' + ev, fn);
} else {
el['on' + ev] = fn;
}
}
}
prereg.addEvent(document.getElementById('businessCustomer-label'), 'click', prereg.showItems);
prereg.addEvent(document.getElementById('businessCustomer-element'), 'click', prereg.showItems);