【发布时间】:2012-01-09 19:42:01
【问题描述】:
显然我正在尝试做一些 jQuery 不喜欢的事情。
我正在使用 javascript 上传图片。每次上传图片时,我都希望它可见,并附有一个有效的删除脚本。显示工作正常,删除没有,因为当我用萤火虫检查它时它不存在于页面上。
这是删除文件的脚本:
var insertScript = "<";
insertScript += "script type='text/javascript'>jQuery(document).ready(function($){ $('#Remove_" +
file + "').click(function() { removeImage(\"" +
fileName +"\", \""+ imageUID +"\", \"" +
file + "\"); }); });";
insertScript += "<";
insertScript += "\/script>";
在我的页面中,我有一个包含所有图像的 div 标签,所以每次上传图像时我都会附加到它:
jQuery(document).ready(function($) {
$('#ImageBar').append(insertScript);
$('#ImageBar').append(insertHTML);
});
insertHTML 变量包含一个 div 标记,其中包含图像和一个删除按钮。里面没有javascript/jquery。它附加得很好。 insertScript 根本不附加。
我凭直觉尝试从 insertScript 中删除 jQuery,并用一个简单的 javascript 警报替换它,并测试是否是标签弄乱了它,但事实并非如此。附加警报时效果很好。这让我相信 jQuery 不喜欢附加 jQuery。有没有其他方法可以做到这一点?
【问题讨论】:
-
天哪,不不不。这个“插入脚本”业务从何而来?请描述没有此“附加脚本”的所需页面功能。页面上从什么 HTML 开始,用户做了什么,想要的结果是什么?
-
我怀疑您插入的脚本永远不会触发文档就绪事件。 (因为文档已经加载,并且在您插入新的脚本标记时该事件已经触发。)但我不建议尝试修复它。相反,请遵循答案中给出的建议。
标签: jquery