你的init_widget
从内部看不到函数test.php
.
你必须init_widget
功能全局可见性:
/******** Our main function ********/
function main() {
window.myutils = window.myutils || {}; //Create a little namespace for your own functions so that they are not all global.
//We dont need the jQuery on ready block here. You should assume that whoever calls init_widget will wait for the page to be ready first before calling.
window.myutils.init_widget = function(fname,lname) {
var $ = jQuery; //convenience so we can still use $ here instead of writing out jQuery all the time.
$(\'#widget_dta\').append(\'<p class="fname">first name :\'+fname+\'</p><p class="lname">last name :\'+lname+\'</p>\');
};
}
然后在你的
test.php
执行此操作所需的文件:
<div id="widget_dta"></div>
<script type="text/javascript" src="widget.js"></script>
<script type="text/javascript">
jQuery(document).ready(function($) {
window.myutils.init_widget(\'john\',\'robert\');
});
</script>
您的
widgets.js
文件应该只定义可以直接调用的所有函数。只有实际需要使用这些函数的代码才应该等待jQuery on page ready事件首先触发,然后再尝试使用任何小部件函数。