如何使用多个id进行此工作

时间:2017-02-28 16:23:09

标签: javascript

我认为这是一个简单的答案,但我找不到合适的解决方案。我知道必须使用querySelectorAll完成,但在这种情况下无法弄清楚如何使用它。

我的ID为#modalA#modalB#modalC的元素。我不想重复代码。所以我想弄清楚最佳做法是什么?

无法使用getElementByClassName,因为我无法对标记进行更改。

var getModalsA = document.getElementById('modalA');
var getModalsB = document.getElementById('modalB');
var getModalsC = document.getElementById('modalC');

getModalsA.addEventListener('touchmove', function(e) {

    e.preventDefault();

}, false);

1 个答案:

答案 0 :(得分:0)

我不确定你是不是只是在进行了一次小规模的重构。

类似的东西:

function addListenersToElement(id) {
  var el = document.getElementById(id);
  el.addEventListener('touchmove', function(e) {

      e.preventDefault();

  }, false);
}

var ids = ['modalA', 'modalB', 'modalC'];
ids.forEach(addListenersToElement);

我会使用jQuery或类似的东西(或轻量级变体),但如果你不能改变页面标记,最好的办法就是在较小的函数中重构代码。