Javascript 如何将加载处理程序附加到动态创建的项
我试图将负载处理程序绑定到动态创建的对象(生产代码中的主干视图)。我尝试使用中概述的方法,它适用于单击处理程序,但不适用于加载处理程序。有人知道如何解决这个问题吗 这是有效的(与单击处理程序一起)Javascript 如何将加载处理程序附加到动态创建的项,javascript,jquery,events,Javascript,Jquery,Events,我试图将负载处理程序绑定到动态创建的对象(生产代码中的主干视图)。我尝试使用中概述的方法,它适用于单击处理程序,但不适用于加载处理程序。有人知道如何解决这个问题吗 这是有效的(与单击处理程序一起) $(文档).ready(函数(){ $(“body”)。在(“click”,“img”,function()上{ 控制台日志(“foo”); }); 创建(); }); 函数create(){ $img=$(” 但这并不是(使用load handler) $(文档).ready(函数(){ $(“bo
$(文档).ready(函数(){
$(“body”)。在(“click”,“img”,function()上{
控制台日志(“foo”);
});
创建();
});
函数create(){
$img=$(”
但这并不是(使用load handler)
$(文档).ready(函数(){
$(“body”)。在(“load”,“img”,function()上{
控制台日志(“foo”);
});
创建();
});
函数create(){
$img=$(“不幸的是,在子选择器上使用on
只适用于冒泡的事件类型。DOMload
事件不会在树上冒泡,因此它永远不会到达您正在侦听它的body
看
您需要手动将处理程序附加到您创建的任何图像
$(document).ready(function() {
$("body img").on("load" onLoad);
create();
});
functon onLoad(){
console.log("foo");
}
function create(){
$("<img />")
.on('load', onLoad)
.attr("src", "http://www.pureweber.com/wp-content/uploads/2011/04/jquery_icon.png")
.appendTo('body');
}
$(文档).ready(函数(){
$(“车身img”)。打开(“加载”打开);
创建();
});
函数onLoad(){
控制台日志(“foo”);
}
函数create(){
$(“你不能。加载注册到主体,加载事件不会冒泡那么远,事实上它根本不会冒泡。这是有用的信息,谢谢!谢谢你的帮助!有什么方法可以将加载处理程序附加到动态创建的映像上吗?谢谢你的详细回答,我将手动附加一个加载处理程序!
$(document).ready(function() {
$("body").on("load", "img", function(){
console.log("foo");
});
create();
});
function create(){
$img = $("<img />").attr("src", "http://www.pureweber.com/wp-content/uploads/2011/04/jquery_icon.png");
$("body").append($img);
}
$(document).ready(function() {
$("body img").on("load" onLoad);
create();
});
functon onLoad(){
console.log("foo");
}
function create(){
$("<img />")
.on('load', onLoad)
.attr("src", "http://www.pureweber.com/wp-content/uploads/2011/04/jquery_icon.png")
.appendTo('body');
}