我正在使用MVC3大量使用ajax来获取部分视图。如果部分视图包含JavaScript,则将其添加为新的js文件,如快照:
中所示
所以如果我有一个js函数:
function checkValue(){
//do work
}
在ajax调用时会添加一个包含此函数的新动态JS文件,它与旧的一次冲突。
myfile.js包含:
function checkValue(){
//do work
}
和1.js(动态文件)也将包含它
function checkValue(){
//do work
}
所以当我因为存在于旧文件中而调用它时,它会调用已经过时的function
。如何解决这种情况,比如新的JavaScript替换旧的。
由于
答案 0 :(得分:2)
您可以检查某些内容是否已定义,并且只有在未定义的情况下才重新定义:
var checkValue = checkValue || function () {
//do work
};
如果您希望定义覆盖彼此而不是使用名称定义函数,请每次在全局对象上定义它们:
window.checkValue = function () {
//do work
};