Показать сообщение отдельно
  #4 (permalink)  
Старый 13.12.2016, 17:04
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

Сообщение от 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»)
Ответить с цитированием