Javascript 我可以手动触发setOnLoadCallback吗?
我有一个使用谷歌图表的网站,最近我添加了平滑的页面转换,使导航变得更有趣,但由于这些平滑的更改,Javascript 我可以手动触发setOnLoadCallback吗?,javascript,jquery,charts,google-visualization,Javascript,Jquery,Charts,Google Visualization,我有一个使用谷歌图表的网站,最近我添加了平滑的页面转换,使导航变得更有趣,但由于这些平滑的更改,setOnLoadCallback没有启动,所以我的图表没有被绘制 这条线永远不会被触发: google.setOnLoadCallback(绘图图) 是否有办法手动跳闸,以便绘制图表 您可以在此处看到该网站: 如果您导航到一个股票页面,您将不会看到任何图表出现,但如果您刷新,它会出现 例如,单击PS3,然后单击Betta Pharmacuticals,导航到。不会显示任何图表。但是,单击上面的链接
setOnLoadCallback
没有启动,所以我的图表没有被绘制
这条线永远不会被触发:
google.setOnLoadCallback(绘图图)代码>
是否有办法手动跳闸,以便绘制图表
您可以在此处看到该网站:
如果您导航到一个股票页面,您将不会看到任何图表出现,但如果您刷新,它会出现
例如,单击PS3,然后单击Betta Pharmacuticals,导航到。不会显示任何图表。但是,单击上面的链接(或在页面上按F5),图表将显示。我通过将有问题的行从以下位置更改为:
google.setOnLoadCallback(绘图图)代码>
到
$(文档).ready(绘图图)代码>
然后使用这段代码手动触发$(document).ready()
(取自)
google有一个名为onLoadCallback()的函数吗?
;(function($, undefined) {
var isFired = false;
var oldReady = jQuery.fn.ready;
$(function() {
isFired = true;
$(document).ready();
});
jQuery.fn.ready = function(fn) {
if(fn === undefined) {
$(document).trigger('_is_ready');
return;
}
if(isFired) {
window.setTimeout(fn, 1);
}
$(document).bind('_is_ready', fn);
};
})(jQuery);