当前位置: 代码迷 >> 综合 >> WordPress init admin_init 加载多次js文件后,js扩展不能运行
  详细解决方案

WordPress init admin_init 加载多次js文件后,js扩展不能运行

热度:82   发布时间:2024-01-05 00:13:34.0

js文件:

(function($){
$.fn.bar4 = function(options) {
var defaults = {aaa:'1',bbb:'2'};
var opts = $.extend(defaults, options);
alert('参数值:aaa:'+opts.aaa+';bbb:'+opts.bbb);
}
})(jQuery);



加载:

<?phpadd_action('init', 'hi_register_scripts');
function hi_register_scripts( ) {wp_register_script( "ttt.js", hi_make_url( array(HILIB_URL, "assets", "ttt.js"), array() ), array('jquery') );wp_enqueue_script( "ttt.js");
}
add_action('admin_init', 'hi_register_scripts_admin');
function hi_register_scripts_admin( ) {wp_register_script( "ttt.js", hi_make_url( array(HILIB_URL, "assets", "ttt.js"), array() ), array('jquery') );wp_enqueue_script( "ttt.js");
}
?>


使用:


<?phpfunction hi_msg( $selector, $args ){?><script type="text/javascript">;(function($){			$(document).on('ready', function(){alert($('#hipost-form').bar4);//$('#hipost-form').tipso('show');});			})(jQuery)</script><?php}

alert($('#hipost-form').bar4); 此处,弹出的对话框显示 $('#hipost-form').bar4 为 undefinend


如果把加载代码改为下面,也就是只加载一次,$('#hipost-form').bar4 为 function



加载:


<?php
if( !is_admin() ){	add_action('init', 'hi_register_scripts');function hi_register_scripts( ) {<span style="font-family: Arial, Helvetica, sans-serif;">		</span>
		wp_register_script( "ttt.js", hi_make_url( array(HILIB_URL, "assets", "ttt.js"), array() ), array('jquery') );wp_enqueue_script( "ttt.js");}}if( is_admin() ){	add_action('admin_init', 'hi_register_scripts_admin');function hi_register_scripts_admin( ) {		wp_register_script( "ttt.js", hi_make_url( array(HILIB_URL, "assets", "ttt.js"), array() ), array('jquery') );wp_enqueue_script( "ttt.js");}	
}?>



  相关解决方案