Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как повесить обработчик (https://javascript.ru/forum/misc/33036-kak-povesit-obrabotchik.html)

daima 08.11.2012 11:38

как повесить обработчик
 
Есть див, к котором ссылки, картинки и прочие :write: теги. Напр:

<div id="block">
<a href="bla-bla">bla</a> 
<img src="">
<p onclick="">bla</p>
<a href="bla-bla" onclick="">bla</a> 
</div>


требуется поверх всего этого наложить обработчик так, чтобы при клике на любой элемент внутри блока или сам блок срабатывала некая ф-я, после чего этот обработчик отключался и при повторном клике не срабатывал бы.

:help: как это сделать на javascript? (не jquery !!!!)

SV0L0CH 08.11.2012 12:07

$('#block').one('click', fn);

daima 08.11.2012 12:38

Цитата:

Сообщение от SV0L0CH
SV0L0CH

для тех, кто в танке - не jquery

vashurin 08.11.2012 13:39

Цитата:

Сообщение от daima (Сообщение 214736)
Есть див, к котором ссылки, картинки и прочие :write: теги. Напр:

<div id="block">
<a href="bla-bla">bla</a> 
<img src="">
<p onclick="">bla</p>
<a href="bla-bla" onclick="">bla</a> 
</div>


требуется поверх всего этого наложить обработчик так, чтобы при клике на любой элемент внутри блока или сам блок срабатывала некая ф-я, после чего этот обработчик отключался и при повторном клике не срабатывал бы.

:help: как это сделать на javascript? (не jquery !!!!)

Вешать слушатель события, а потом снимать слушатель события...
<div id="block">
<a href="bla-bla">bla</a> 
<img src="">
<p onclick="">bla</p>
<a href="bla-bla" onclick="">bla</a> 
</div>
<script type="text/javascript">
var block = document.getElementById('block');
function ifClick() {
	alert('ok');
	block.onclick = null;
	return false;
}
block.onclick = ifClick;
</script>


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