因此,我编写了一个简单的脚本,并将其正确地排队。
my-jquery-script.js:
jQuery(document).ready(function($) {
$(\'#some_id\').on(\'click\',\'.clone\',function(e){
alert(\'clicked\');
/*.....*/
e.preventDefault();
});
});
functions.php:
add_action( \'wp_enqueue_scripts\', \'my_function\' );
function my_function() {
wp_enqueue_script( \'my-jquery-script\', get_stylesheet_directory_uri() . \'/js/my-jquery-script.js\' );
}
some-page.php:
<?php wp_head(); ?>
<body>
<form>
<div id="some_id">
<a href="#" class="clone">button</a>
</div>
</form>
</body>
<?php wp_footer(); ?>
它不起作用,但当我将jQuery脚本手动包含到某个页面中时。php如下:
<?php wp_head(); ?>
<body>
<form>
<div id="some_id">
<a href="#" class="clone">button</a>
</div>
<script type=\'text/javascript\' src=\'<?php echo get_stylesheet_directory_uri() . "/js/my-jquery-script.js"; ?>\'></script>
</form>
</body>
<?php wp_footer(); ?>
它正在工作,但“$(document).ready()会触发两次”,如下所述:
https://stackoverflow.com/questions/10727002/jquery-document-ready-fires-twice我做错了什么?任何帮助都将不胜感激。
更新:我还注意到$(document.body).on(\'click\',\'.clone\',function(e){ }
选择器正在工作,而不是id选择器