Javascript wordpress jquery插件不是一个函数

Javascript wordpress jquery插件不是一个函数,javascript,jquery,wordpress,Javascript,Jquery,Wordpress,我有这个错误jQuery(…)。签名不是函数 我正在创建一个自定义插件表单,让用户拥有签名。但是突然,wordpress上出现了这个错误 我正在使用这个jquery插件 这是我定义的代码: add_action( 'wp_enqueue_scripts', 'load_custom_wp_style_jsignature' ); function load_custom_wp_style_jsignature() { wp_register_style( 'ax-link-j

我有这个错误
jQuery(…)。签名不是函数

我正在创建一个自定义插件表单,让用户拥有签名。但是突然,wordpress上出现了这个错误

我正在使用这个jquery插件

这是我定义的代码:

add_action( 'wp_enqueue_scripts', 'load_custom_wp_style_jsignature' );

function load_custom_wp_style_jsignature() {

        wp_register_style( 'ax-link-jsignature', plugins_url() . '/path/jsignature/css/jquery.signature.css');

        wp_enqueue_style( 'ax-link-jsignature' );

}

add_action( 'wp_enqueue_scripts', 'register_plugin_jsui' );

function register_plugin_jsui() {       
    wp_register_script( 'js-ui', plugins_url( '/path/ui/jquery-ui.js', __FILE__ ),array('jquery'), null, true );
    wp_enqueue_script( 'js-ui' );

}

function register_plugin_sketch() {     
    wp_register_script( 'ax-sketch', plugins_url( '/path/jsignature/js/jquery.signature.js', __FILE__ ),array('js-ui'), null, true );
    wp_enqueue_script( 'ax-sketch' );

}
这是视图

还有js脚本:

<script>
    var sig = jQuery('#axl_signature_wrap').signature();
    jQuery('#sig_clear').click(function() {
        sig.signature('clear');
    });
</script>

var sig=jQuery('#axl_signature_wrap')。signature();
jQuery('#sig_clear')。单击(函数(){
签名(“清晰”);
});

在我对wordpress上未实现的本地html进行的测试中,这些代码正常工作。我还检查了wordpress上的控制台,所有必需的脚本都存在,我想知道为什么它不能工作?有什么想法吗?

您已修复了第一个错误。接下来是开始初始化
signature()
,但尚未加载
jquery.signature.js
脚本(它在代码后面的页脚中加载)

要使其工作,只需将代码包装成一些延迟函数,如:

jQuery(document).ready(function(){
   var sig = jQuery('#axl_signature_wrap').signature();
   jQuery('#sig_clear').click(function() {
       sig.signature('clear');
   });
});

另一种方法是将代码放在DOM树的
jquery.signature.js
之后。

您修复了第一个错误。接下来是开始初始化
signature()
,但尚未加载
jquery.signature.js
脚本(它在代码后面的页脚中加载)

要使其工作,只需将代码包装成一些延迟函数,如:

jQuery(document).ready(function(){
   var sig = jQuery('#axl_signature_wrap').signature();
   jQuery('#sig_clear').click(function() {
       sig.signature('clear');
   });
});

另一种方法是将代码放在DOM树的
jquery.signature.js
之后。

对于
ax sketch
脚本的
s-ui
依赖性在哪里?您有运行此示例的页面吗?可能有很多事情:您的脚本是在加载jQuery之前定义的,jQuery不在全局范围内(没有window.jQuery)。。您可以在控制台上查看如果您想获得帮助,您应该回答问题;)。正如我所说的,您的依赖性被打破,您的
jquery.signature.js
没有加载。此外,css文件的路径错误刚刚修复了脚本源问题,但仍然出现此错误
uncaughttypeerror:jQuery(…)。签名不是一个函数,其中
s-ui
依赖于
ax sketch
script?您有运行此示例的页面吗?可能有很多事情:您的脚本是在加载jQuery之前定义的,jQuery不在全局范围内(没有window.jQuery)。。您可以在控制台上查看如果您想获得帮助,您应该回答问题;)。正如我所说的,您的依赖性被打破,您的
jquery.signature.js
没有加载。此外,css文件的路径错误。刚刚修复了脚本源问题,但仍然出现此错误
uncaughttypeerror:jQuery(…)。签名不是函数