我知道还有其他这样的帖子,但我不知道是否适合就别人的问题提问。这是我认为我找到答案的答案:other question。我认为页面上的最后一个解决方案可能就是使用它。
我的问题仍然存在如何将此应用于我的方案。我的脚本都包含在外部函数中。它基于这个概念:
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:trigger $ document.ready(因此我无法修改的AJAX代码被执行)”。这个问题的答案,特别是最后一个答案,似乎是我正在寻找的,但我不确定如何使我的方案工作。
答案 0 :(得分: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();
这样,我的所有脚本都会在由change()事件发起的内容更新后或者点击我的带有'productSubmitInput'类的按钮时重新绑定。