5
これは動作しません:コールバック後のjQuery挿入?
$block.insertAfter(form);
$('.date', $block).datetime({
userLang: 'en',
americanMode: true
});
が、これはありません:
$block.insertAfter(form);
window.setTimeout(function() {
$('.date', $block).datetime({
userLang: 'en',
americanMode: true
});
}, 1000);
datetime()
は、私はクラスdate
として入力要素にアタッチしていますプラグインです。明らかに#1は動作しません。その要素はまだDOMで利用できないため、1秒待ってから動作します。しかしそれはハッキーです。 insertAfter()
メソッドまたは別の方法でコールバックを受け入れるようにjQueryを拡張するにはどうすればよいですか?
'.promise'と[' .done'](http://api.jquery.com/deferred.done/) –
最初に.datetime()を呼び出してからinsertAfter()を呼び出すとどうなりますか?私は、DOMから切り離されたフォームを作成し、それにdatetimeを呼び出してDOMに挿入することを意味します。 –
#1はどのように機能しませんか?それは挿入されるとすぐにDOMで利用できるはずです。 'insertAfter'は同期式なので、' form'の後に '$ block'を挿入するとすぐに利用できます。後で '.datetime'メソッドを実行するだけで十分です。 1秒(または任意の時間)待つことは重要ではありません。何か不足していますか? '$ block.insertAfter(form).find( '。date')。datetime({});'? 'フォーム'とは何ですか?私はそれが動的に作成されたjQueryオブジェクト( '$("