通过jquery局部刷新,加载了一个button在主页面的div中,<input type="button" id="addPic" value="添加图片"/>
然后我通过jquery对其进行单击响应,却没有任何反应
$("#addPic").click(function(){
alert("ok");
});
这是为什么呢?难道动态加载进来的一些元素没有事件响应??那局部刷新不是没有任何意义了吗

解决方案 »

  1.   

    你是不是这样写的哦
    $(function(){
    $("#addPic").click(function(){
            alert("ok");
        });
    });
      

  2.   

    还有就是 为什么我写的jquery代码很久才能有效,有时候运行出来的结果是前几次写的jquery代码,真无语啊,难道myeclipse这么不智能????
      

  3.   

    不是的,就是
    $("#addPic").click(function(){
            alert("ok");
        });
    不过在外面套个function有什么作用吗?
      

  4.   

    外面的function的作用是 在页面加载时就执行,相当于 onload()事件调用里面的方法。里面的function$("#addPic").click(function(){
    alert("ok");
    绑定onclick事件到id=addPic
      

  5.   

    不过我看有人写成这样 
    $("document").ready(function(){
      .....
    });应该没有什么区别吧?
      

  6.   

    写完了jquery代码 有时候运行是这个结果,有时候运行是那个结果,真扯淡啊......各位有什么好的建议吗?写js代码的时候?
      

  7.   


    但是我写的jquery代码为什么每次部署的时候都延时呢,有时候执行的是前几次写的代码,根本没法调试.....
      

  8.   

    IE缓存了呗,设置为每次访问检查就行,具体设置你就google吧
      

  9.   


    是没有发布的原因。删除掉tomcat下work目录的内容,重新发布。你不相信的话,可以去tomcat的webapps下你的项目中去看,jsp中,你改的jquery代码是否变化了?
      

  10.   

    jquery动态加载的组件不会自动绑定事件的,你得用一个livejquery插件或者自带的live方法,有缺陷不如插件好用,具体LZ自己google一下。
    如:$('#addPic').live('click',function(){
             alert('ff');
        });
      

  11.   

    补充一下 完整写法:
    $(function(){
      $('#addPic').live('click',function(){
            alert('ff');
        });
    })