Javascript Can';t让load()在img上工作

Javascript Can';t让load()在img上工作,javascript,jquery,Javascript,Jquery,在我开始之前,我知道这可能是重复的。我已经研究了以下问题的解决方案: 并更改了我的代码。但是我还是不能让子弹开火。我已经尝试将.load更改为.on('load'…),并且基本上破坏了我的代码,试图让它正常工作。。。我仍然无法启动警报()。。。有什么想法吗 <html> <head> <title>XXX</title> <script src="http://ajax.googleapis.com/ajax/libs/j

在我开始之前,我知道这可能是重复的。我已经研究了以下问题的解决方案:

并更改了我的代码。但是我还是不能让子弹开火。我已经尝试将
.load
更改为
.on('load'…)
,并且基本上破坏了我的代码,试图让它正常工作。。。我仍然无法启动
警报()。。。有什么想法吗

<html>
   <head>
   <title>XXX</title>
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js" type="text/javascript"></script>
   </head>
   <body>
      <div id="outter">
         <div id="selectionBox">
                <form id="qqqq" enctype="multipart/form-data" action="/" method="post">
<input id="fileSelect" onchange="readURL(this);" type="file" name="imagePP" accept="image/x-png, image/gif, image/jpeg, image/bmp">
             </form>
         </div>
      </div>
   </body>
   <script>  
        function readURL(input) {
            if (input.files && input.files[0]) {
                var reader = new FileReader();
                reader.onload = function(e) {
                    if (!$("#aaa").length)
                        $("body").append("<img id=\"aaa\">");

                    $("#aaa").attr('src', e.target.result);
                };
                reader.readAsDataURL(input.files[0]);
            }
        }

        $(document).ready(function() {
            $("#aaa").load(function() {
                alert("sdffds");
            }).each(function() {
                if (this.complete) {
                    $(this).trigger('load');
                }
            });
        });
   </script>
</html>

XXX
函数readURL(输入){
if(input.files&&input.files[0]){
var reader=new FileReader();
reader.onload=函数(e){
如果(!$(“#aaa”).长度)
$(“正文”)。附加(“
试试看

load
事件绑定到
#aaa
这样,动态添加的
#aaa
元素仍然会将事件绑定到它们

编辑: 请检查这个JSFIDLE,对代码稍作修改即可使其正常工作


我已将.load声明放在readURL中。

不确定,但在调用document.ready()时,您的图像标记应绑定到文档函数不会从实际创建img标记的任何位置调用。

因为在将图像添加到页面之前,您正在附加事件处理程序。
id
s必须是唯一的。看起来您使用了多次。这不是一个确切的问题。但这不是一个好的做法。Rejith我没有看到任何id重复?哪一个?Hi-Epascarello,我认为即使动态添加id为的元素,它仍然会被拾取?很抱歉,在编辑时我错过了这一行。请查看下面的代码-document.body.addEventListener('load',function(event){var elm=event.target;if(elm.id=='my_img')){//或任何其他筛选条件//do some stuff},true//Capture event);已在以下线程中回答-
$(document).on("load", "#aaa", function() {