1

サイトの初心者であり、山ほど助けてくれましたが、現在の問題の解決策を見つけることができませんでした. 見逃した場合は、私に教えてください。

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 stop click event ) に基づいており、途中までではありませんでした。

クリックイベントをトリガーする方法について何かアイデアはありますか?

ありがとう!

4

1 に答える 1

1

clickイベントが停止しているとは思えません...blurでは、テキストボックスとボタンの間に要素を追加するため、クリックするまでに、ボタンは新しい要素によって移動されています。

ボタンの後に要素を追加すると、clickイベントが登録されていることがわかります: http://jsfiddle.net/rSy2w/1/

于 2013-06-18T19:33:33.303 に答える