我剛剛進入我的JavaScript(模式,名稱空間,對象等),並試圖在我的最新項目中實踐其中的一些。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);