我試圖將參數(gmap_settings)傳遞給包含的外部js文件中的函數(初始化)。我的PHP文件看起來是這樣的:將jquery變量定義爲超出範圍的函數
<?php
$setting = array(
'zoom' => 8
);
$json = json_encode($setting);
?>
<script type="text/javascript">
//<![CDATA[
jQuery(document).ready(function($) {
var gmap_settings = $.parseJSON ('<?php echo $json; ?>');
--> google.maps.event.addDomListener(window, 'load', $(document).initialize(gmap_settings));
});
//]]>
</script>
爲了簡便起見,可以說,外部的js文件看起來像這樣:
(function($) {
var initialize = function(data) { alert(data); };
})(jQuery);
不管我怎麼努力我無法弄清楚如何將gmap_settings傳遞給initialize()
。我試過功能initialize()
在外部文件:
$(document).initialize.gmap_settings
$(document).initialize({gmap_settings})
initialize(gmap_settings)
我不明白我錯過了什麼。
號的' var initialize'是一個* local *變量。這意味着你*不能從外部訪問它。 – Bergi 2013-04-20 20:24:54
而不是嘗試解析一個非轉義的回聲JSON字符串,只需使用'var gmap_settings = <?php echo $ json; ?>;' – Bergi 2013-04-20 20:26:14
'$(document).initialize'好像你正在嘗試[編寫一個插件] – user2264587 2013-04-20 20:28:00