Javascript Jquery-上传图像后查找元素
我使用上传图像,一切正常。我感兴趣的部分如下: 上传图像后,将向DOM添加新元素(img为预览添加标记等)。 创建此元素后,我需要能够附加单击事件。如何执行此操作(当此元素出现时检查) 编辑: 这是生成预览的代码:Javascript Jquery-上传图像后查找元素,javascript,jquery,Javascript,Jquery,我使用上传图像,一切正常。我感兴趣的部分如下: 上传图像后,将向DOM添加新元素(img为预览添加标记等)。 创建此元素后,我需要能够附加单击事件。如何执行此操作(当此元素出现时检查) 编辑: 这是生成预览的代码: $(function() {var fileTemplate="<div id=\"{{id}}\">"; fileTemplate+="<div class=\"preview\"></div>"; fileTemplat
$(function()
{var fileTemplate="<div id=\"{{id}}\">";
fileTemplate+="<div class=\"preview\"></div>";
fileTemplate+="<div class=\"filename\">{{filename}}</div>";
fileTemplate+="</div>";
function slugify(text)
{
text=text.replace(/[^-a-zA-Z0-9,&\s]+/ig,'');
text=text.replace(/-/gi,"_");text=text.replace(/\s/gi,"-");
return text;
}
$("#dropbox").html5Uploader({
postUrl: "<?php echo base_url() ?>admin/image_upload",
onClientLoadStart:function(e,file)
{var upload=$("#upload");
if(upload.is(":hidden"))
{upload.show();}
upload.append(fileTemplate.replace(/{{id}}/g,slugify(file.name)).replace(/{{filename}}/g,file.name));},
onClientLoad:function(e,file)
{$("#"+slugify(file.name)).find(".preview").append("<img class=img_upload title=\"" + file.name + "\" src=\""+e.target.result+"\" alt=\"\">");},
onServerLoad:function(e,file)
{}
});
$(函数()
{var fileTemplate=”“;
fileTemplate+=“”;
fileTemplate+=“{{filename}}”;
fileTemplate+=“”;
函数slugify(文本)
{
text=text.替换(/[^-a-zA-Z0-9,&\s]+/ig');
text=text.replace(/-/gi,“”);text=text.replace(/\s/gi,“-”);
返回文本;
}
$(“#dropbox”).HTML5上传程序({
姿势:“管理员/图像上传”,
OnClient LoadStart:函数(e,文件)
{var upload=$(“#upload”);
if(upload.is(“:hidden”))
{upload.show();}
upload.append(fileTemplate.replace(/{{id}}/g,slugify(file.name)).replace(/{{filename}/g,file.name)),
onClientLoad:函数(e,文件)
{$(“#”+slagify(file.name)).find(“.preview”).append(“”;”)和,
onServerLoad:函数(e,文件)
{}
});
这是我需要在单击事件时尝试附加的部分:
$('.preview').on('click', '.img_upload', function(){
var _val = textarea.val(),
img_src = '<img src="<?php echo IMG ?>vesti/' + $(this).attr('title') + '" />';
console.log(img_src);
textarea.val( _val + img_src );
});
$('.preview')。在('click','img_upload',函数()上{
var _val=textarea.val(),
img_src='vesti/'+$(this.attr('title')+'“/>”;
console.log(img_src);
text区域.val(_val+img_src);
});
})当元素出现时尝试检查是有点愚蠢的。有什么东西使元素出现了!然后附加处理程序,或者至少跟踪元素以便以后可以附加任何内容
如何创建预览节点?您可以更改将图像附加到预览元素的代码
$("#" + slugify(file.name) ).find(".preview")
.append(
$("<img class=img_upload title=\"" +
file.name +
"\" src=\"" + e.target.result +
"\" alt=\"\">").on("click", function( ) { // do stuff })
);
$(“#”+slugify(file.name)).find(“.preview”)
.附加(
$(“”)。在(“单击”,函数(){//do stuff})上
);
doesnt$('img')。在(“单击”,function(){});工作?是的,但我需要附加更多的函数到它,目前每次单击只能附加一个函数。我正在尝试一些不同的方法以满足要求。