Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   повешать функицю на кнопку (https://javascript.ru/forum/jquery/51076-poveshat-funkicyu-na-knopku.html)

proro4eg 23.10.2014 15:50

повешать функицю на кнопку
 
Всем привет, есть три кнопки и функция, мне нужно что-бы при нажатии на первую кнопку, существующая функция вешалась на вторую кнопку, при нажатии на вторую кнопку, функция выполнялась, и при нажатии на третью кнопку, функция снималась со второй кнопки, то-есть если первая кнопка не нажата, вторая естественно ничего не делает. Как на меня это возможно сделать при помощи bind, unbind но что-то не выходит ) Если что-то не так, извиняюсь, я новичок))

<!DOCTYPE HTML>
<HTML>
<HEAD>
<title>Обучалка jq </title>
<link rel="stylesheet" href="css/style.css"/>
<script type='text/javascript' src="js/jquery.js">
</script>
</HEAD>
<body>
<input type="button" id="c1" value="кнопка1">
<input type="button" id="c2" value="кнопка2">
<input type="text" id="v1">
<script>
$('#c2').bind('click', function(){
function factorial(n) {
return (n!=1) ? n*factorial(n-1) : 1;
}
n = $('#v1').val()
alert(factorial(n));
});

</script>

<input type="button" id="c3" value="кнопка3">
</body>
</HTML>

ksa 23.10.2014 16:48

Цитата:

Сообщение от proro4eg
мне нужно что-бы при нажатии на первую кнопку, существующая функция вешалась на вторую кнопку, при нажатии на вторую кнопку, функция выполнялась, и при нажатии на третью кнопку, функция снималась со второй кнопки

Как вариант...

<!DOCTYPE html>
<html>
<head>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function (){
	$('#c1').click(function (){
		$('#c2').bind('click',test);
	});
	$('#c3').click(function (){
		$('#c2').unbind('click',test);
	});
});
function test() {
	alert('Ok');
};
</script>
</head>
<body>
<input type="button" id="c1" value="set" />
<input type="button" id="c2" value="run" />
<input type="button" id="c3" value='del' />
</body>
</html>


Часовой пояс GMT +3, время: 16:35.