jQuery - 在模糊上向DOM添加元素会停止点击事件

时间:2013-06-18 19:24:32

标签: jquery events click blur

该网站的新手和它帮助我成堆,但我还没有找到解决我当前问题的方法。如果我错过了 - 请指导我。

我有一个表单,它使用jQuery在模糊事件期间附加一个div标签进行验证,效果很好。但是,如果单击该按钮,则会在将div附加到DOM后删除“click”事件。我已经能够简化我在这里遇到的问题: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)让我参与其中,但不是一直都是这样。

任何人都对如何触发点击事件有任何想法?

谢谢!

1 个答案:

答案 0 :(得分:1)

我不认为click事件正在停止...在blur上,您在文本框和按钮之间添加元素,所以当您点击时,该按钮已被移动由新元素。

如果您在按钮后添加元素,则可以看到正在注册的click事件:http://jsfiddle.net/rSy2w/1/