【问题标题】:Wordpress jQuery Click not working. Please help :)Wordpress jQuery 单击不起作用。请帮忙 :)
【发布时间】: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


【解决方案1】:

看起来菜单按钮工作正常!

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();
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<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>

【讨论】:

  • 它在我的 Wordpress 中不起作用...我不知道为什么
  • 检查正在呈现的 html - 是否包含 demo.js
  • 是的..来自文件所在的JS文件夹子主题。
  • 你确定 jqueryv 正在安装吗?你们中的 JavaScript 是好的,它似乎是,然后你需要让它被加载并运行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多