回调后jQuery插入?

时间:2013-03-28 16:47:21

标签: javascript 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秒后工作。但这很糟糕。如何扩展jQuery以接受insertAfter()方法的回调或其他方式?

1 个答案:

答案 0 :(得分:2)

将您的代码包装在准备好文档的文字中:

$(function() {
    $block.insertAfter(form);

    $('.date', $block).datetime({
         userLang: 'en',
        americanMode: true
    });
});

确保在加载日期时间库之后发生。也就是说,此<script>标记应位于<script src="datetime.js">之后。并确保未在async代码上设置<script>属性。