我正在创建一个自定义主题。我需要在我的主题中运行一些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");
});
});
这里来自contents.php文件的代码不会加载到class = div1中。任何解决方案?
N.B:scripts.js和contents.php两个文件位于同一目录中。
答案 0 :(得分: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
。