让我说我有这样的事情:
<head><script src="script1.js" ...></script></head>
<body><div id="div1"></div></body>
我称之为index.html,div1的内容是动态加载的,比如
$("#div1").html ("div1.html");
其中div1.html类似于
<div id="div2"><canvas id="canv1" ... /></div>
我想在script1.js中以某种方式引用canv1;通过操作$(“#canv1”)没有任何反应,因为在 div1.html之前加载了script1.js ;有没有办法(例如$(document).on(...))“加载[..]后立即执行某些操作”?我试过了
$(document).on ("load", "#canv1", ...);
但它不起作用。值得注意的是$(document).on(“click”,“#canv1”,...)有效,但它不是我想要的(因为,我想在关注之前在画布上绘制一些东西)点击...);任何想法?
答案 0 :(得分:1)
据推测,您正在使用AJAX调用加载内容,然后在回调中添加附加内容。如果你把$('#canv1')......放在追加之后,在回调中,它应该有效。
根据以下OP的评论进行编辑:
$.ajax (
{url: "div1.html",
cache: false}).
done (function (html){
$("#div1").append (html);
$("#canv1").click(...);
});