Показать сообщение отдельно
  #16 (permalink)  
Старый 28.09.2017, 09:51
Аватар для borus
Кандидат Javascript-наук
Отправить личное сообщение для borus Посмотреть профиль Найти все сообщения от borus
 
Регистрация: 07.12.2012
Сообщений: 147

Сообщение от ksa Посмотреть сообщение
Бивас, тест! (с)

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
	$('button').each(function(){
		var one=this.onclick;
		this.onclick=null;
		$(this).click(function(){
			two();
			one();
		});
	});
	function two(){
		alert(2);
	};
});
</script>
</head>
<body>
<button onclick='alert(1)'>Test</button>
</body>
</html>
Доброго утра!
Позвольте я опишу мое понимание того, как это работает в учебных целях, а вы скажите, так или нет:
После клика на кнопку её дефолтный обработчик клика сбрасывается с помощью
this.onclick=null;

Затем запускается обработчик с функциями two() и one(), которая была предварительно сохранена до снятия дефолтного обработчика
Так?
Спасибо. Попробую сейчас использовать такой подход
Ответить с цитированием