[英]Defining jquery variable into function that's out of scope
我正在尝试将参数(gmap_settings)传递给包含的外部js文件中的函数(初始化)。 我的php文件看起来像这样:
<?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)
我不明白我在想什么。
您为什么认为$(document).initialize
会起作用?
您可以在外部javascript文件中实现模块模式,然后返回一个对象并对该对象调用initialize
var YourModule = (function($) {
return {
initialize: function( data ) { alert(data)}
};
})( jQuery );
现在您有了一个可以使用的变量
var newModule = Object.create(YourModule);
newModule.initialize('This will be alerted')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.