我正在使用一个简单的脚本来重新加载一个 div
$('#mydiv').fadeOut('300').load('# #mydiv').fadeIn("300");
问题是我正在重新加载的 div 里面有 Facebook like 按钮。DIV 重新加载后,我可以看到它在源代码中更新,但由于某种原因该按钮被隐藏了。
有没有办法强制按钮重新绘制?
我正在使用一个简单的脚本来重新加载一个 div
$('#mydiv').fadeOut('300').load('# #mydiv').fadeIn("300");
问题是我正在重新加载的 div 里面有 Facebook like 按钮。DIV 重新加载后,我可以看到它在源代码中更新,但由于某种原因该按钮被隐藏了。
有没有办法强制按钮重新绘制?
正如我在评论中所说,我认为这.load
被误解了,正如您在问题中所说
我可以在源代码中看到它已更新,但由于某种原因该按钮被隐藏了
..因此,考虑到这一点,我假设您的负载使用正确的参数运行。
你这里有一个同步问题。您在链中使用的所有内容都使用时间刻度,.load()
因此是异步的。
因此,您必须使用回调来了解特定函数的时间尺度何时结束,而不是仅仅链接所有内容。
$('#myDiv').fadeIn('300', function() {
// callback when #myDiv is faded out (display:none;)
$(this).load('url', function() {
// callback when #myDiv is loaded with new content from the given 'url'
$(this).fadeIn('300');
})
});
facebook 按钮不会显示,因为它是在 document.load 之后正常配置的。
如果您在文档已加载且 Facebook javascript SDK 已初始化时加载 div 内容。它行不通。
如果在 div 加载之前不需要 facebook。您可以尝试在 div 中加载“all.js”脚本。
否则,如果您遇到这种情况,您肯定必须审查应用程序的设计。