如何向不存在的元素添加事件监听器(不需要jQuery)
How to add event listener to not-yet existing elements (without jQuery)?
下面是我简化的场景:
我试图访问一个图像链接,说,页"A"。我的脚本打开A页。但事情没那么简单。由于各种原因(即登录凭据,重定向),我不能直接使用
window.open(url).getElement...
因为我在这里得到的不包含我想要的目标图像
我可以这样做的一种方法是设置window.open(url).onload=function(){//get the image};
也就是说,我可以在页面完全加载时获得图像(因此包括重定向)。
我的问题是,有没有一种方法可以在元素还不存在的情况下完成element.onload
?在这个场景中,它将在不等待图像完全加载的情况下获取图像URL
图像对象很适合这样做。只要把这个函数放在你想要加载图像的地方。
function loadImageInto(id){
var image = new Image();
image.onload = function(){
document.getElementById(id).src = image.src;
};
image.src = "imagefile.jpg";
}
如果你需要一个事件处理程序,你可以这样做。
function loadImageInto(id){
return function(){
var element = this;
if(typeof id !== 'undefined'){
element = document.getElementById(id);
}
var image = new Image();
image.onload = function(){
element.src = image.src;
};
image.src = "imagefile.jpg";
}
}
当然,这只会在你提前知道图像url的情况下起作用
相关文章:
- 如何在不需要单击按钮的情况下获取选项的值
- Javascript不需要的关闭行为
- 删除客户端浏览器上不需要的内容
- 不允许在字段中输入不需要的字符
- 不需要的JSON响应
- 如何使图像适合TD,而不需要包装在不同的屏幕分辨率上
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器
- jQuery自动完成显示不需要的动态html标记
- 在Knockout js中创建一个包含多行的表,而不需要推送
- AngularJs正在解码HTML字符(不需要)
- jQuery regex从文本链接-添加不需要的域到链接
- 防止从浏览器到应用商店的不需要的重定向
- 外部解析RSS提要,不需要像谷歌和服务器端那样的任何库
- 不需要的异步事件调度
- 是否有任何不需要后端的验证码角度指令
- Ajax 请求给出不需要的响应
- Jquery/javascript:加载页面时不需要的重复函数
- 为什么Java代码需要编译,而JavaScript代码不需要
- Angular SPA中不需要的页面刷新
- 如何向不存在的元素添加事件监听器(不需要jQuery)