2012-04-09 7 views
-1

我知道还有其他类似的帖子,但我不知道是否适合问一个关于别人问题的问题。这里是我认为我找到了我的问题的答案的链接:other question。我认为网页上的最后一个解决方案可能是使用的解决方案。保持jquery脚本在第三方ajax后活着

我的问题仍然是如何将应用于我的方案。我的脚本都包含在一个外部函数中。正是基于这样的理念:

jQuery.noConflict(); 
jQuery(function($) { 

    var Engine = { 
     utils : { 
      functionName : function(){ 
       // Do stuff in here 
      }, 
      functionName2 : function(){ 
       // do something else  
      } 
     }, 
     ui : { 
      functionName : function(){ 
       // Do stuff in here 
      }, 
      functionName2 : function(){ 
       // do something else  
      } 
     }, 
     fixes : { 
      functionName : function(){ 
       // Do stuff in here 
      }, 
      functionName2 : function(){ 
       // do something else  
      } 
     }, 
     tweaks : { 

      functionName : function(){ 
       // Do stuff in here 
      }, 
      functionName2 : function(){ 
       // do something else  
      } 
     } 
    }; 


    Engine.utils.functionName(); 
    Engine.utils.functionName2(); 

    Engine.ui.functionName(); 
    Engine.ui.functionName2(); 

    Engine.fixes.functionName();  
    Engine.fixes.functionName2(); 

    Engine.tweaks.functionName(); 
    Engine.tweaks.functionName2(); 

}); 

我最终要解决我的脚本不能正常工作Ajax调用的内容发生变化后的问题。链接的问题是“jquery:触发$ document.ready(所以AJAX代码我无法修改执行)”。这个问题的答案,特别是最后一个,似乎是我正在寻找的,但我不知道如何在我的方案中实现这一目标。

+1

究竟是什么问题? – adeneo 2012-04-09 18:32:03

+0

您是否访问过链接?我也编辑了我的问题来澄清。 – 2012-04-09 18:51:53

+0

通过Ajax加载的内容是否包含您需要运行的JavaScript,还是只是您已有的功能无法与加载的内容一起使用? – adeneo 2012-04-09 19:17:29

回答

0

我用on()找到了使用委托的答案。

jQuery.noConflict(); 
function scriptlist() { 
    var $ = jQuery; 
    var Engine = { 
     utils : { 
      functionName : function(){ 
       // Do stuff in here 
      }, 
      functionName2 : function(){ 
       // do something else  
      } 
     }, 
     ui : { 
      functionName : function(){ 
       // Do stuff in here 
      }, 
      functionName2 : function(){ 
       // do something else  
      } 
     }, 
     fixes : { 
      functionName : function(){ 
       // Do stuff in here 
      }, 
      functionName2 : function(){ 
       // do something else  
      } 
     }, 
     tweaks : { 

      functionName : function(){ 
       // Do stuff in here 
      }, 
      functionName2 : function(){ 
       // do something else  
      } 
     } 
    }; 


    Engine.utils.functionName(); 
    Engine.utils.functionName2(); 

    Engine.ui.functionName(); 
    Engine.ui.functionName2(); 

    Engine.fixes.functionName();  
    Engine.fixes.functionName2(); 

    Engine.tweaks.functionName(); 
    Engine.tweaks.functionName2(); 

}; 

jQuery('body').on('change click.productSubmitInput',function(){ 
    jQuery.ready(scriptlist()); 
}); 
scriptlist(); 

这样一来,我的所有脚本将被改变()事件,或者当我与类“productSubmitInput”按钮被点击策动一次内容更新后重新绑定。