无法为我的网站使用 jsPDF。按下按钮后没有触发

Unable to use jsPDF for my website. Nothing triggered after hitting the button

我正在尝试为我的网页使用 jsPDF。它使用简单的页面,我知道我使用的是正确的脚本。但是当我在更复杂的页面中使用它时, javascript 代码在点击按钮后不会被触发。下面是代码:

<!DOCTYPE html>
<html>

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>JSP Page</title>
</head>

<body>
  <div class="content">

    <div class="content_resize">
      <div class="mainbar">
        <div class="article">


        </div>
      </div>
      <div class="sidebar">
        <div class="gadget">
          <ul class="sb_menu">
            <p></p>
            <h2></h2>
          </ul>
        </div>
        <div class="gadget">
          <ul class="ex_menu">


          </ul>

        </div>
      </div>
      <div class="clr"></div>
    </div>
  </div>

  <div class="fbg">
    <div class="fbg_resize">
      <div class="col c1">


      </div>
      <div class="col c2">

      </div>
      <div class="col c3">

        <p>

      </div>
      <div class="clr"></div>
    </div>
  </div>
  <div id="editor"></div>
  <button id="cmd">generate PDF</button>
  <script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
  <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jspdf/0.9.0rc1/jspdf.min.js"></script>
  <script type="text/javascript">
    var doc = new jsPDF();
    var specialElementHandlers = {
      '#editor': function(element, renderer) {
        return true;
      }
    };

    $('#cmd').click(function() {
      console.log("Hola");
      doc.fromHTML($('#content').html(), 15, 15, {
        'width': 170,
        'elementHandlers': specialElementHandlers
      });
      doc.save('sample-file.pdf');
    });
  </script>
  <div class="footer">
    <div class="footer_resize">
      <p class="lf">&copy;&nbsp;&nbsp;&nbsp;&nbsp;</p>
      <div class="clr"></div>
    </div>
  </div>

</body>

</html>

你能告诉我为什么点击按钮后没有触发动作吗?

您需要等待您的文件:

          <script type="text/javascript">
$(document).ready(function(){
        var doc = new jsPDF();
        var specialElementHandlers = {
          '#editor': function(element, renderer) {
            return true;
          }
        };

        $('#cmd').click(function() {
          console.log("Hola");
          doc.fromHTML($('#content').html(), 15, 15, {
            'width': 170,
            'elementHandlers': specialElementHandlers
          });
          doc.save('sample-file.pdf');
        });
});
      </script>

请在您的 HEAD 元素中包含 jQuery 并在您的脚本周围添加 $( document ).ready()。您的控制台有任何错误吗?

有关详细信息,请参阅文档:https://learn.jquery.com/using-jquery-core/document-ready/