这不起作用:
$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()
方法的回调或其他方式?
答案 0 :(得分:2)
将您的代码包装在准备好文档的文字中:
$(function() {
$block.insertAfter(form);
$('.date', $block).datetime({
userLang: 'en',
americanMode: true
});
});
确保在加载日期时间库之后发生。也就是说,此<script>
标记应位于<script src="datetime.js">
之后。并确保未在async
代码上设置<script>
属性。