我有以下代码:
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'
发布于 2013-07-30 08:42:23
创建一个函数并将元素传递给该函数
function bindEventListeners(elem){
elem.addEventListener("dragover", function(e){ e.stopPropagation(); e.preventDefault(); }, false);
elem.addEventListener("drop", this._dropFiles, false);
}
bindEventListeners(document.getElementById(this.config.dragArea));
bindEventListeners(document.getElementById(this.config.dragAreaMobi));https://stackoverflow.com/questions/17942128
复制相似问题