【问题标题】:jQuery - appending an element to DOM on blur stops click eventjQuery - 在模糊时将元素附加到 DOM 停止点击事件
【发布时间】:2013-06-18 19:24:31
【问题描述】:

该网站的新手及其帮助我解决了很多问题,但我无法找到解决当前问题的方法。如果我错过了 - 请指导我。

我有一个表单,它使用 jQuery 在 blur 事件期间附加一个 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) 的一篇帖子,让我了解了一部分,但不是全部。

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

谢谢!

【问题讨论】:

    标签: jquery events click blur


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的帮助 - 这很有意义
    猜你喜欢
    • 2013-04-30
    • 2013-03-16
    • 2012-06-28
    • 2013-05-05
    • 2017-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多