我已经浏览了几个关于将脚本(包括jQuery)排入Wordpress的困难的Q& A,并且大多数似乎都解决了根本没有找到脚本的麻烦。
我很确定我已经破解了那个坚果,我的脚本似乎被找到并正确加载,但它们的行为并不像传统预期的那样。
这是我在我创建的子主题中的functions.php文件中放置的代码的截断片段:
<?php
function adding_scripts() {
wp_register_script('custom_styles', get_template_directory_uri() . '/style.css');
wp_register_script('custom_scripts', get_stylesheet_directory_uri() . '/jQuery_scripts.js.php', array('jquery'));
wp_enqueue_script('custom_scripts');
wp_enqueue_script('custom_styles');
}
add_action( 'wp_enqueue_scripts', 'adding_scripts' );
?>
这已成功排入我的自定义CSS&amp;在某种程度上我的自定义jQuery ...但jQuery没有按预期工作。编码是基本的,与我的能力相当,但应该有效。
必须有一些特定的Wordpress noConflict''缺少的东西
jQuery(document).ready(function( $ ) {
var variable1 = $(".element1").width();
$(".element3").css({"width":variable1+"px"});
$(".element4").click(alert(variable1));
});
没有创建变量,这是第一个问题。
我最初创建的'click'事件,用于测试变量是什么,并发现了一些奇怪的东西。当页面加载时,点击甚至无需点击.element4
即可点击。
该警报中的返回值为null
。
所以问题是:为什么不像通常那样创建变量?为什么在.element4
没有点击事件的情况下触发了点击甚至监听器?
答案 0 :(得分:0)
好吧,幸运的是,在我将脚本排队后大约8到10个小时后,由于未知原因(缓存?),最终创建了变量。我的警报测试确实返回了元素的宽度。
但是,正如评论中所述,我的click();
仍然是在没有点击的情况下自发触发的。
作为测试,我改为.on("click",function(){});
,这似乎工作正常。我想在Wordpress中安装的jQuery库并不完全,就像在jQuery或Google上链接到远程托管的jQuery库一样。
无论如何,此时没有进一步的问题,虽然我只有一半回答了我自己的问题,但由于我不知道问题的根本原因,我猜一半是关闭的够了。