JavaScript:getElementById-避免代码重复
JavaScript: getElementById - avoiding code duplication
我得到了以下代码:
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'
创建一个函数并将元素传递给函数
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));
相关文章:
- 从桌面读取python文件时高亮显示代码
- 如何将函数包装在函数中以避免代码重复
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 货币代码为欧元-金额的格式不应包含小数
- Regex代码只允许一个空格
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 从var向代码隐藏函数传递值
- 如何动态插入jquery代码
- 如何在php变量中嵌入JQuery代码
- 代码不会验证
- 如何从rails中的代码中删除新行( )
- Angularjs代码未在匿名函数中运行
- 如何做到这一点,使代码在不传递条件后执行函数
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 面向对象的Javascript代码在IE7中不起作用
- 将 jQuery 代码添加到 Index.aspx 页面
- 为什么忽略了eval()代码中的语法错误
- 元素在我的代码中不会.fadeTo.Don'I don’我不知道;s错误的JavaScript、JQuery、H
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- 代码只能在jsfiddle中工作