2012-02-08 81 views
0


我對JavaScript很陌生,我不確定如何處理下面的腳本。低於該

請參閱腳本是一種資源,我發現幫我激活iscroll4內輸入的...iScroll 4腳本 - 我怎樣才能使這個體積更小?

var inputSubmit = document.getElementById('gform_submit_button_1'); 

inputSubmit.addEventListener('touchstart' /*'mousedown'*/, function(e) { 
    e.stopPropagation(); 
}, false); 



這是偉大的一個輸入,但我有一個完整的形式也適用這一點。所以這是我寫的......

var inputSubmit = document.getElementById('gform_submit_button_1'), 
    inputName = document.getElementById('input_1_1'), 
    inputEmail = document.getElementById('input_1_2'), 
    inputPhone = document.getElementById('input_1_3'), 
    inputMessage = document.getElementById('input_1_4'), 
    inputCaptcha = document.getElementById('input_input_1_5'); 

inputSubmit.addEventListener('touchstart' /*'mousedown'*/, function(e) { 
    e.stopPropagation(); 
}, false); 

inputName.addEventListener('touchstart' /*'mousedown'*/, function(e) { 
    e.stopPropagation(); 
}, false); 

inputEmail.addEventListener('touchstart' /*'mousedown'*/, function(e) { 
    e.stopPropagation(); 
}, false); 

inputPhone.addEventListener('touchstart' /*'mousedown'*/, function(e) { 
    e.stopPropagation(); 
}, false); 

inputMessage.addEventListener('touchstart' /*'mousedown'*/, function(e) { 
    e.stopPropagation(); 
}, false); 

inputCaptcha.addEventListener('touchstart' /*'mousedown'*/, function(e) { 
    e.stopPropagation(); 
}, false); 


的變量可能是罰款的是,但有一些方法可以讓我有較少的腳本和底部合併成一個?

如果這是如此,那麼不用擔心。

任何建議將是非常有益的。


感謝

回答

0
var formInputs = [ 
    document.getElementById('gform_submit_button_1'), 
    document.getElementById('input_1_1'), 
    document.getElementById('input_1_2'), 
    document.getElementById('input_1_3'), 
    document.getElementById('input_1_4'), 
    document.getElementById('input_input_1_5') 
]; 
for(var i = 0; i < formInputs.length; i++) { 
    formInputs[i].addEventListener('touchstart' /*'mousedown'*/, function(e) { 
    e.stopPropagation(); 
    }, false); 
} 

或者你可以循環它通過

formInputs.forEach(function(el) { 
    el.addEventListener('touchstart' /*'mousedown'*/, function(e) { 
    e.stopPropagation(); 
    }, false); 
}); 

或..(不推薦,因爲:Why is using "for...in" with array iteration a bad idea?

for(var el in formInputs) { 
    el.addEventListener('touchstart' /*'mousedown'*/, function(e) { 
    e.stopPropagation(); 
    }, false); 
} 
+0

感謝Sirhc!我去了頂級的。第二個顯示錯誤「未定義」類型錯誤不是函數。我看不到任何錯別字?奇怪的。謝謝你的幫助。 – Joshc 2012-02-08 22:08:54

+0

你是對的,有一個錯字!更正它。 – sirhc 2012-02-08 22:10:10

+0

謝謝,yep也工作過漂亮:-) – Joshc 2012-02-08 22:41:12