1

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

我有一个表单,它使用 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);
});

我基于这里的一篇文章(模糊事件停止点击事件),它让我成为了一部分,但不是一路。

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

谢谢!

4

1 回答 1

1

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

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

于 2013-06-18T19:33:33.303 回答