Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery-上传图像后查找元素_Javascript_Jquery - Fatal编程技术网

Javascript Jquery-上传图像后查找元素

Javascript Jquery-上传图像后查找元素,javascript,jquery,Javascript,Jquery,我使用上传图像,一切正常。我感兴趣的部分如下: 上传图像后,将向DOM添加新元素(img为预览添加标记等)。 创建此元素后,我需要能够附加单击事件。如何执行此操作(当此元素出现时检查) 编辑: 这是生成预览的代码: $(function() {var fileTemplate="<div id=\"{{id}}\">"; fileTemplate+="<div class=\"preview\"></div>"; fileTemplat

我使用上传图像,一切正常。我感兴趣的部分如下:

上传图像后,将向DOM添加新元素(img为预览添加标记等)。 创建此元素后,我需要能够附加单击事件。如何执行此操作(当此元素出现时检查)

编辑:

这是生成预览的代码:

$(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(){});工作?是的,但我需要附加更多的函数到它,目前每次单击只能附加一个函数。我正在尝试一些不同的方法以满足要求。