iScroll 4脚本 - 如何让它变得不那么笨重?

时间:2012-02-08 21:34:20

标签: javascript


我是javascript的新手,我不知道如何处理下面的脚本。

请参阅下面的脚本,这是我发现的一个资源,可以帮助我激活iscroll4中的输入...

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);


这些变量可能很好,但有没有什么方法可以减少脚本并将底部组合成一个?

如果这是如此,那就不用担心了。

任何建议都会非常有用。


感谢

1 个答案:

答案 0 :(得分: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);
}