Показать сообщение отдельно
  #5 (permalink)  
Старый 24.03.2015, 15:06
Кандидат Javascript-наук
Отправить личное сообщение для vuler Посмотреть профиль Найти все сообщения от vuler
 
Регистрация: 16.02.2012
Сообщений: 109

Упростил код, немного покапался в этом вопросе и нашел старанную особенность.
Вот код:
HTML - '
<div id="page_central">
<div class="test w200 h200"></div>
</div>';
// $('#page_central').on('mousedown','.test',function(e){
	$('body').on('mousedown','.test',function(e){
		elem=$(e.currentTarget);
		elem.html('НАЖАЛИ НА БЛОК.');
		$('body').on('mousedown',function(e){
			$('body').find('.test').html('НАЖАЛИ В ЛЕВОМ МЕСТЕ')
		})
	})

Если обработчик стоит как $('body').on('mousedown','.test',function(e), то при нажатии на блоке в нем появляется надпись НАЖАЛИ НА БЛОК, а при втором клике в любом месте в нем появится НАЖАЛИ В ЛЕВОМ МЕСТЕ'
А вот если обработчик записать так - $('#page_central').on('mousedown','.test',function (e), казалось бы разница не велика, но в результате при первом клике появится НАЖАЛИ В ЛЕВОМ МЕСТЕ, т.е. событие установленное в функции сразу запустится. Это как-то обойти можно?
Ответить с цитированием