【发布时间】:2015-11-16 20:22:11
【问题描述】:
有些 jQuery 有效,有些则无效。在这种情况下,单击功能不起作用。
此代码有效:-
$j=jQuery.noConflict();
// Use jQuery via $j(...)
$j(document).ready(function(){
alert('test');
});
然而事实并非如此。这就是我所做的:-它来自这个codepen:- http://codepen.io/domierosina/pen/qdYRYM
Demo1.js :-
var $j=jQuery.noConflict();
// Use jQuery via $j(...)
$j(document).ready(function(){
$j('#overlay-menu').click(function() {
$j('.overlay').addClass('overlay-open');
$j('.menuButton').hide();
});
$j('.overlay-close').click(function() {
$j('.overlay').removeClass('overlay-open');
$j('.menuButton').show();
});
});
在functions.php(子主题)中
add_action( 'wp_enqueue_scripts', 'add_my_script' );
function add_my_script() {
wp_enqueue_script(
'demo1',
get_stylesheet_directory_uri() . '/js/demo1.js',
array('jquery')
);
}
在 HTML 中:-
<div id="container">
<button id="overlay-menu" class="menuButton" type="button">Menu</button>
</div>
<div class="overlay overlay-data">
<button type="button" class="overlay-close">Close</button>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
<li><a href="#">Portfolio</a></li>
</ul>
</nav>
</div>
单击菜单按钮后,没有任何反应。
在 Firefox 中检查 Inspect 元素,加载 demo1.js 时没有任何问题
【问题讨论】:
-
你可以试试 $j('.menuButton').click(function() ... 代替吗?我不知道 WordPress 是否使用任何类型的母版页,但有时会抛出 ID关闭。我通常使用类作为选择器以使其更容易
-
试过了,没有运气。类 overlay-open 不会附加到覆盖层
标签: javascript jquery html css wordpress