Сообщение от ksa
|
Нет.
|
Ну почему же так категорично?
<script>
function Fun1 (){alert("this Fun1")};
function Fun2 (){alert("this Fun2")};
function Fun3 (){alert("this Fun3")};
-function(){
var z ={};
window.hunt=function (n,cb){
z[n]=window[n];
window[n]= function(){cb();z[n]()};
};
}();
</script>
</body>
<input type="button" value="вызов Fun1" onclick="Fun1()">
<input type="button" value="вызов Fun2" onclick="Fun2()">
<input type="button" value="вызов Fun3" onclick="Fun3()">
<br><br><br>
<input type="button" value="переопределить Fun1" onclick='hunt("Fun1",function(){alert("поймать вызов Fun1")})'>
<input type="button" value="переопределить Fun2" onclick='hunt("Fun2",function(){alert("поймать вызов Fun2")})'>
<input type="button" value="переопределить Fun3" onclick='hunt("Fun3",function(){alert("поймать вызов Fun3")})'>
Такое решение просто ужасно для реальной работы но в качестве примера самое то
Есть еще куча нюансов с переменными и областью видимости (советую гуглить в сторону «JS bind»)