0

我正在尝试检测通过表单提交的图像,以便继续执行更多代码。图像被提交抛出一个form input type="file"然后使用 jquery.form.js 插件在页面抛出 ajax 呈现。

我已经尝试过该on.load方法,但它似乎只适用于文件代码中调用的图像。

$('.img_set').on('loaded', function (){
    alert();
});

和:

$(".img_set").on('load', function() {
  alert('I loaded!');
}).each(function() {
  if(this.complete) $(this).load();
});

我也尝试了https://github.com/desandro/imagesloaded的插件,但没有工作,因为我正忙着工作。

有没有一种方法可以检测图像何时提交,而不是加载到页面的 DOM 中?

更新
上传处理程序

$('.photoimg').on('change', function (){
    $('.db_result').html('<img src="images/loader.gif" />'); 
    $('.imageform').ajaxForm({ target: $(this).closest('.child')}).submit();
    $('.db_result').delay(500).queue(function(n) {
            $(this).html('');
    });
    $('.child').on('load','.img_set', function() {
        alert('new image loaded');
    });
});
4

1 回答 1

0

仍然有些不清楚您到底要什么,但是假设文件已成功上传并且图像标签已添加到页面上的某个容器中,您应该能够通过委托加载事件来检测新图像何时加载使用选择器作为过滤器到容器。

$('#img_container').on('load','.img_set', function() {
    alert('new image loaded');
});

使用委托允许处理程序同时应用于页面首次呈现时加载的图像以及稍后动态添加到页面的元素。

于 2013-09-14T18:40:32.287 回答