2013-06-18 9 views
1

новичок на этом сайте, и это помогло мне разобраться, но я не смог найти решение моей текущей проблемы. Если я пропустил это, пожалуйста, направить меня.jQuery - добавление элемента в DOM на размытие останавливает событие щелчка

У меня есть форма, которая использует jQuery для добавления тега div для проверки во время события размытия, которое отлично работает. Однако, если щелкнуть по кнопке, событие «щелчок» отбрасывается после добавления div в DOM. Я был в состоянии упростить эту проблему у меня здесь: http://jsfiddle.net/rSy2w/

function log(msg) { 
    $('#msgs').append('<br>').append('' + msg); 
} 

function onFocus() { 
    log('focus'); 
} 

function onBlur() { 
    log('enter blur'); 
    addElement($(this)); 
    log('exit blur'); 
} 

function continueOn() { 
    log('continue click'); 
} 

function addElement(field) { 
    field.parent().append('<div class="message">New DIV Element</div>'); 
} 

$(document).ready(function() { 
    $('#myform input').focus(onFocus); 
    $('#myform .field-text').on('blur','input', onBlur); 
    $('#continue').click(continueOn); 
}); 

я на основе этого на пост здесь (Blur event stops click event), который получил меня часть пути, но не весь путь.

У кого-нибудь есть идеи относительно того, как получить событие click для запуска?

Спасибо!

ответ

1

Я не думаю, что событие click останавливается ... На blur вы добавляете элементы между текстовым полем и кнопкой, поэтому к тому моменту, когда вы нажимаете, кнопка была перемещена новыми элементами.

Если вы добавляете элементы после нажатия на кнопку, вы можете увидеть click событие регистрации: http://jsfiddle.net/rSy2w/1/

+0

Спасибо за вашу помощь - это имеет смысл – andyz

+0

Что такое решение? Перестроить элементы ??? – Ahamed

Смежные вопросы