从先前加载的jquery脚本引用动态加载的东西

时间:2012-04-15 23:34:10

标签: javascript jquery

让我说我有这样的事情:

<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”,...)有效,但它不是我想要的(因为,我想在关注之前在画布上绘制一些东西)点击...);任何想法?

1 个答案:

答案 0 :(得分:1)

据推测,您正在使用AJAX调用加载内容,然后在回调中添加附加内容。如果你把$('#canv1')......放在追加之后,在回调中,它应该有效。

根据以下OP的评论进行编辑:

$.ajax (
    {url: "div1.html",
     cache: false}).
done (function (html){
    $("#div1").append (html);
    $("#canv1").click(...);
 });