一个页面有一个<img> 我想点击这个图片的时候,触发一个事件!
我现在用的 $("#img").click(function(...)),我也是刚学了一点jquery,我所理解的它的事件会在页面dom加载完毕后会执行,但是现在问题出来了,如果其他的没有加载完,我点这个按钮的时候,是没有任何反应的,我怎么才能在其他没有加载完的情况下,点这个IMG,给出一个提示呢,alert或者其他什么效果都可以!
我尝试用了 document.readystate ,但是这东西,不支持FF!我对脚本不是很熟悉,所以搞的头大,请兄弟们。。出个主意! 分数不多,是个心意。。谢谢了

解决方案 »

  1.   


     //为浏览器做兼容 
            script.onload = script.onreadystatechange = function() {  
                
                if (!this.readyState || this.readyState == "loaded" || this.readyState == "complete") { 
                    $("#img").click(function(...))
                } 
            }; 
      

  2.   


    //为浏览器做兼容 
            $("#img").onload = $("#img").onreadystatechange = function() {  
                
                if (!this.readyState || this.readyState == "loaded" || this.readyState == "complete") { 
                    $("#img").click(function(...))
                } 
            }; 楼上那个发错了~·用这个~·
      

  3.   

    !this.readyState 
    请问这一句是什么意思呢?
      

  4.   

    有没哥们帮我解释一下上面的代码! 实在搞不懂!this.readyState是什么意思
      

  5.   


    this.readyState代表是否加载好~·你加上这代码问题解决了吗?
      

  6.   


    你复制到~·$(document).ready(function(){
       //复制到这里面
    })
      

  7.   

    其实我有件事闹不明白! 
    我如果把那代码放在$(document).ready(function(){ })里面,就是dom加载完之后再执行这个里面的方法,但是这个方法就是要在加载中触发的$("#img").onload ,这样不是冲突吗?
    还是说我理解错了这个意思呢
      

  8.   


    这个是看$('#img')这个对象加载没加载成功~·
      

  9.   


    $(document).ready(function()
        { 
            $("#imgDG").onload = $("#imgDG").onreadystatechange = 
            function() 
            {
                if (!this.readyState || this.readyState == "loaded" || this.readyState == "complete") 
                {
                    alert('加载!');
                }
                else
                    alert('正在加载!');
             }; 
        )}
    这样完全没反应啊 !  晕
      

  10.   

    $(document).ready(function()
        { 
            $("#imgDG").onload = $("#imgDG").onreadystatechange = 
            function() 
            {
                if (!this.readyState || this.readyState == "loaded" || this.readyState == "complete") 
                {
                    $("#imgDG").click(function()
                    {
                        alert('加载!');
                    })
                }
                else
                {
                   $("#imgDG").click(function()
                    {
                        alert('正在加载!');
                    })
                }
             }; 
        })
      

  11.   

    $("document").ready(function()
        { 
            $("#img").click(function(){.......});
        });
      

  12.   

    我真的对这些回答的人无语了,一点也不严谨来着,13楼更甚,
    $(document).ready(function(){});
    这句话都没弄明白是什么意思,整个DOCUMENT文件加载完毕后执行某个方法。
    而你在这其中在为 #imgDG 所对应的元素添加onload,而这时,#imgDG元素早早就加载完毕了,所以下面的一些代码全是废的,还有,$("#imgDG").onload 这句话什么事思?jQuery.fn 中存在这个onload方法吗,
    不知道是不是一时大意还是不懂jQuery?
    要写也应该是:
    $("#imgDG")[0].onload = function() {
     alert(11111);
    }
    用JQUERY的方法也应该是这样。
    $("imgDG").bind( 'load readystatechange', function(){
     // code
    });
    这段代码必须在#imgDG所对应对象的下方,
    建议把脚本放在页面有底部,
      

  13.   

    <script>$("#img").click(function(...)){}</script>这段代码不要放在ready里,直接放在img后面就可以了