Упростил код, немного покапался в этом вопросе и нашел старанную особенность.
Вот код:
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), казалось бы разница не велика, но в результате при первом клике появится НАЖАЛИ В ЛЕВОМ МЕСТЕ, т.е. событие установленное в функции сразу запустится. Это как-то обойти можно?