у меня есть следующий код:JavaScript: getElementById - избежать дублирования кода
document.getElementById(this.config.dragArea).addEventListener("dragover",
function(e){ e.stopPropagation(); e.preventDefault(); }, false);
document.getElementById(this.config.dragArea).addEventListener("drop",
this._dropFiles, false);
//SAME CODE, DIFFERENT IDs
document.getElementById(this.config.dragAreaMobi).addEventListener("dragover",
function(e){ e.stopPropagation(); e.preventDefault(); }, false);
document.getElementById(this.config.dragAreaMobi).addEventListener("drop",
this._dropFiles, false);
Если я не хочу, чтобы дублировать весь этот код, что я мог сделать? Есть ли способ сделать что-то вроде document.getElementsById(var1, var2)
?? (ПРИМЕЧАНИЕ: dragArea = 'id1'
и dragAreaMobi = 'id2'
).
Я попытался с помощью JQuery с:
$(this.config.dragArea).bind("dragover", function(e){ e.stopPropagation(); e.preventDefault(); }, false);
Этот код не работает - моя догадка разница между bind
и addEventListner
... В этом случае dragArea был определен как dragArea = '#id1, #id2'
сделать больше, писать меньше с помощью JQuery –
Будет ли dragArea быть 'dragArea = 'id1, id2''? Разве это не привело бы к чему-то вроде '$ ('# id1, id2)' во время выполнения? (Второй id отсутствует #) – user1775598
@ user1775598, да, вы правы. – Sergio