我认为这是一个简单的答案,但我找不到合适的解决方案。我知道必须使用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);
答案 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或类似的东西(或轻量级变体),但如果你不能改变页面标记,最好的办法就是在较小的函数中重构代码。