[英]JQuery append is not working inside a JQuery click function
所以我试图在用户点击“Go”之后和新页面加载之前立即在RichText编辑器中添加徽标。
$('#Go').on('click', function (e) {
e.preventDefault();
$.get(url, function(data) {
var html = '<img src="' + data + '" width=100px height=100px></img>';
$('.EditorFrame').contents().find('body').append(html);
});
});
就像我点击“Go”一样,在加载新页面之前,图像会短暂出现在编辑器中。 新页面 - 除了我们编辑的结果外只显示空白 ! 我也用纯文本尝试了这个 - 同样的故事。
我努力调试。 例如,放:
console.log($('.EditorFrame').contents().find('img'));
紧跟在追加行之后,会打印出img标签!
有趣的是,当我在控制台中复制/粘贴相同的代码然后按“Go”时,一切正常,我可以看到图像,文本,无论我放在编辑器中。
我正在使用最新的谷歌浏览器来完成我的工作。
您正在竞争异步get
方法和下一页加载。 你可能应该在你的点击处理程序中返回false并在你的get
请求的成功回调中转到下一页(如果这是你想要的):
$('#Go').on('click', function (e) {
e.preventDefault();
$.get(url, function(data) {
var html = '<img src="' + data + '" width="100" height="100"></img>';
$('.EditorFrame').contents().find('body').append(html);
// go to next page here
});
return false;
});
此外,width和height属性不应具有“px”,而应仅为数值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.