0

含まれている外部 js ファイルにある関数 (initialize) にパラメーター (gmap_settings) を渡そうとしています。私の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) 

何が欠けているのかわかりません。

4

1 に答える 1

1

なぜそれがうまくいくと思います$(document).initializeか?

モジュール パターンを外部 JavaScript ファイルに実装し、オブジェクトを返し、そのオブジェクトで初期化を呼び出すことができます。

var YourModule = (function($) {
    return {
       initialize: function( data ) { alert(data)} 
    };
})( jQuery );

これで、使用できる変数ができました

var newModule = Object.create(YourModule);
newModule.initialize('This will be alerted')
于 2013-04-20T20:25:44.460 に答える