function drop_work(mission_id)
{
this.check=function()
{
alert('sdfsdf');
}
var that=this;
var text_obj=new show_dialog();
text_obj.text1="你真的要放弃吗";
text_obj.text2="<input id='extendid' type='image' onclick='that.check()' src='images/buttons/queding.gif' ><span style='width:30px;'></span><img src=\"images/buttons/quxiao.gif\" style=\"cursor:pointer;\" onclick=\"bu_mission_close('dialog')\">";
text_obj.show();
}第一次调用的时候 发现'that.check()错误 说不是function如果再加载一次drop_work 则可以用

解决方案 »

  1.   

    你第一次运行的时候,函数function drop_work(mission_id) 

    this.check=function() 

    alert('sdfsdf'); 

    还没有被调用,自然找不到check这个函数了。你定义的函数,如果不调用,是不自动运行的。
      

  2.   

    那我第一次运行drop_work 那不是调用了drop_work么 怎么说没被调用呢 还请大侠相告
    莫名中
      

  3.   

    function drop_work(mission_id){
      this.check=function(){
        alert('sdfsdf');
      }
      if(!mission_id){return}
      var that=this;
      var text_obj=new show_dialog();
      text_obj.text1="你真的要放弃吗";
      text_obj.text2=" <input id='extendid' type='image' onclick='that.check()' src='images/buttons/queding.gif' > <span style='width:30px;'> </span> <img src=\"images/buttons/quxiao.gif\" style=\"cursor:pointer;\" onclick=\"bu_mission_close('dialog')\">";
      text_obj.show(); 

    window.onload=function(){
      drop_work()
    }
      

  4.   

    页面加载完成的时候,你必须给this创建一个check方法。我这里是用drop_work()函数的mission_id参数做判断是创建还是引用
      

  5.   

    that  是  window  
    开始  that  没有   check();
    就是  window.check不是函数
    运行drop_work时,
    相比  this是windowthis.check  定义  window.check
    所以  window.check 正常
      

  6.   

    开始有点明白了
    onclick='that.check()'
    他是在html里面的 显示出来后 和drop_work()再没有任何关联 也就是that并不是drop_work这个对象不知道我这样理解有问题么但还是有点想不通 为什么我不再次加载 只有再点击一次的话也是可以正常运行的