【问题标题】:Bootstrap & Wordpress - Nothing happensBootstrap 和 Wordpress - 没有任何反应
【发布时间】:2015-07-09 20:04:23
【问题描述】:

所以我正在尝试使用 Bootstrap 模式,我希望它在单击后出现(onclick 方法)。

我现在有这个

    $(document).ready(function(){
      
       $("#cancelPObtn").on("click", function(){ $("#error-dialog").modal();});
          
    });
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.0.4/css/bootstrap-combined.min.css">
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.0.4/js/bootstrap.min.js"></script>


<!-- BELOW ON MY WORDPRESS POST   -->
<a href="#" class="btn btn-danger" id="cancelPObtn" data-toggle="modal" href="#error-dialog">Yes, cancel it</a>
 <div class="modal hide fade" id="error-dialog">
   <div class="modal-header">
        <a class="close" data-dismiss="modal">x</a>
        <h3>Cancel Purchase Order?</h3>
   </div>
   <div class="modal-body">
   </div>
   <div class="modal-footer">
       <a href="#" class="btn btn-danger btn-modal btn-cancel"  data-dismiss="modal">Yes, cancel it</a>
       <a href="#" class="btn" data-dismiss="modal">Nevermind</a>
   </div>
 </div>
<!-- I HAVE THE JAVASCRIPT ON MY POST TOO, USING <script type="text/javascript"> -->

所以,它似乎无处不在,但在我的 Wordpress 帖子中,我无法让它工作!我在 header.php 中添加了来自 Bootstrap 的 JS + CSS 文件

这可能是什么问题?

谢谢!

【问题讨论】:

  • 单击按钮时,您是否在浏览器开发控制台中看到任何错误消息?
  • @IndieRok 不,这个按钮就像你在运行 sn-p 时看到的一样,但是当我按下它时,什么也没有发生!

标签: javascript wordpress twitter-bootstrap twitter-bootstrap-3


【解决方案1】:

您应该阅读enqueuing scripts and styles in WordPress。 WordPress 有自己的方式来包含您应该熟悉的脚本文件和样式表。很多时候,最终发生的情况是文件没有正确包含,或者顺序错误,或者没有他们可能需要的依赖项。强烈建议不要将链接直接添加到 header.php。

【讨论】:

  • 除了将 enqueue 用于引导脚本之外,您还应该使用它来添加您使用 click 函数编写的 javascript 函数。这很痛苦,但这是 wordpress 的方式。 (可能值得添加到答案中,@ceili)
  • 感谢您的帮助。我一直使用 Wordpress,但我一直在尝试编写自己的 CMS,但我仍在学习 PHP、JS 等。我发现 bootstrap 真的很容易使用,但仍在学习。我会试试看能不能成功,再次谢谢!
【解决方案2】:

除了使用上面推荐的wp_enqueue_script 之外,我会确保您编写的 jQuery 不会发生冲突,因为 WordPress 插件有时会与它们自己的 JavaScript 库捆绑在一起,这可能会导致问题。

见下文:

<script type="text/javascript">
  jQuery(function($) {
    $('#cancelPObtn').click(function() {
      $('#error-dialog').modal();
    });
  }
</script>

另外,WordPress 可能正在调用它自己的 jQuery 实例,因此您可以在包含您自己的实例之前使用window.jQuery 进行测试,如下所示:

<script type="text/javascript">
  window.jQuery || document.write('<script src="https://code.jquery.com/jquery-1.7.2.min.js"><\/script>');
</script>

资源:

【讨论】:

  • 谢谢!我根本不知道。我仍然没有解决这个问题,按钮出现了,但是当我按下它时没有任何反应,我已经尝试了我能想到的一切,但没有运气......
  • 使用浏览器控制台(在 Chrome 中为 Ctrl+Shift+J,在 Firefox 中为 Ctrl+Shift+K),键入以下内容:@987654327 @ 你的模态出现了吗?
猜你喜欢
  • 1970-01-01
  • 2023-02-08
  • 1970-01-01
  • 1970-01-01
  • 2020-11-21
  • 1970-01-01
  • 2015-01-23
  • 2017-06-11
  • 2014-05-04
相关资源
最近更新 更多