0

我正在创建一个自定义主题。我需要在我的主题中运行一些 ajax,但我不太了解 ajax。我只知道如何使用 jquery load() 函数来执行服务器端任务。但问题是当我在我的 jquery 中使用 load() 函数时,它在 wordpress 中不起作用。

这是我的 function.php 文件:

function footerfunction() {
    wp_enqueue_script( 'scripts', get_template_directory_uri() . '/inc/scripts.js', array( 'jquery' ) );
}
add_action('wp_footer', 'footerfunction');

这是我的 scripts.js 文件:

jQuery(document).ready(function($){
    $('.button1').live('click', function(){
        $(".div1").load("contents.php");
       });
}); 

这里 content.php 文件中的代码不会加载到 class=div1 中。有什么解决办法吗?

注意:scripts.js 和 contents.php 两个文件都位于同一目录中。

4

1 回答 1

1

按照以下重新调整您的脚本文件,包括注释以在必要时描述更改。

jQuery(document).ready(function($){
    /**
     *   Re-adjusted to .on('click')
     *   Future-proof any DOM changes with
     *   $(document).
    **/
    $(document).on('click', '.button1', function() {
         /**
          *  Use a slightly more un-relative path.
          *  to load your contents.php.
         **/
         $(".div1").load("wp-content/themes/yourtheme/contents.php");
    });
}); 

如果您仍然遇到问题,最好在 JavaScript 控制台中包含任何 JavaScript 错误,最常见F12的是在键盘上。

于 2013-10-01T07:58:52.843 回答