Simple Jquery Click在WordPress中无法使用

ef1yzkbh  于 2023-11-17  发布在  jQuery
关注(0)|答案(5)|浏览(148)

我直接从CDN中包含了jquery,如
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>的。
我已经在页脚中包含了我的javascript文件,如
<script type="text/javascript" src="<?php echo get_template_directory_uri();?>/javascript/tsblog.js"></script>
我的JavaScript代码是

jQuery( document ).ready(function($) {
 console.log( "ready!" );
 $("#start-reading").click(function() {
  console.log("click");
 });

});

字符串
一个简单的jQuery点击函数。在控制台中我可以看到ready消息。但是点击id为start-reading的元素时,什么也没有发生。
以下是标记

<button id="start-reading">
</button>


我是新来的wordpress,有没有什么wordpress的关系,我做错了吗?因为这是应该在非wordpress的环境下工作。

vawmfj5a

vawmfj5a1#

WP确保它只加载脚本一次。所以它收集所有插件的所有脚本请求,并根据依赖关系和优先级决定正确的顺序。
要在WordPress中正确添加脚本,您需要使用wp_enqueue_script()

twh00eeo

twh00eeo2#

继续使用jQuery,而不是$。就像下面的代码一样。

jQuery(document).ready(function() {
          console.log( "ready!" );
         jQuery("#start-reading").click(function() {
                console.log("click");
          });

     });

字符串
检查元素ID是否为#start-reading
#start_reading

yhived7q

yhived7q3#

使用推荐的方式,将这些代码添加到functions.php中

function your_theme_scripts() {

    wp_enqueue_script( 'your-theme-script', get_template_directory_uri() . '/js/script.js', array( 'jquery' ), '', true );

}

add_action( 'wp_enqueue_scripts', 'your_theme_scripts' );

字符串
jQuery已经集成到WordPress中,现在您可以将jQuery代码转换到script.js文件中。

66bbxpm5

66bbxpm54#

如果是一个动态添加的按钮(例如在执行某些代码时),可以在按钮的HTML代码中使用onclcick

jQuery('#parent')
    .html('<button onclick="test_func()">Test</button>');

字符串

但是目标函数(test_func())的声明必须在文件的根目录中(不是函数中的函数)

blpfk2vs

blpfk2vs5#

使用 wp_enqueue_script 如下,我认为最后一个参数在页脚打印中标记为强制性的。最后一个参数有区别。
wp_enqueue_script('custom_script_unique_handle_name',get_template_directory_uri(). '/js/script.js',array('jquery'),'',true);

相关问题