Javascript 我有一个jsPDF错误

Javascript 我有一个jsPDF错误,javascript,html,jspdf,Javascript,Html,Jspdf,我正在尝试生成已在浏览器中呈现的页面的pdf。我有一个按钮,你可以点击,但它会产生一个错误。有人能帮我吗 很多jsPDF问题(一些有答案),但不是这一个,任何想法。不做任何聪明的事。只需直接复制/粘贴示例 我的html <button id="cmd">generate PDF</button> <div class="row" id="dashb"> <div class="col-md-6"> <h1>H

我正在尝试生成已在浏览器中呈现的页面的pdf。我有一个按钮,你可以点击,但它会产生一个错误。有人能帮我吗

很多jsPDF问题(一些有答案),但不是这一个,任何想法。不做任何聪明的事。只需直接复制/粘贴示例

我的html

<button id="cmd">generate PDF</button>

<div class="row" id="dashb">

    <div class="col-md-6">
        <h1>Hello</h1>
        <p>World</p>
    </div>

</div>


<link rel="stylesheet" href="/Content/vis/css/vis.css" />
<link href="~/Content/css/leaflet120.css" rel="stylesheet" />
<link href="~/Content/css/leaflet07.css" rel="stylesheet" />

<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
<script src="~/Content/js/leaflet120.js"></script>
<script src="~/Content/js/d3.v4.min.js"></script>
<script src="~/Content/js/leaflet07.js"></script>

<script src="/Content/vis/js/wrap.js"></script>
<script src="/Content/vis/js/d3tip.js"></script>
<script src="/Content/vis/js/d3pie.js"></script>
<script src="/Content/vis/js/vis.columnChart.js"></script>
<script src="/Content/vis/js/vis.lineChart.js"></script>
<script src="/Content/vis/js/vis.pieChart.js"></script>
<script src="/Content/vis/js/vis.circleMap.js"></script>
<script src="/Content/vis/js/vis.js"></script>

<script src="~/Scripts/jspdf.debug.js"></script>
<script src="~/Scripts/html2canvas.min.js"></script>


<script>
    $(function () {

        var specialElementHandlers = {
            '#editor': function (element, renderer) {
                return true;
            }
        };
        $('#cmd').click(function () {
            var doc = new jsPDF();
            doc.fromHTML(
                $('#dashb').html(), 15, 15,
                { 'width': 170, 'elementHandlers': specialElementHandlers },
                function () { doc.save('sample-file.pdf'); }
            );

        });
    });
</script>
这是我的密码

<script>
    $(function () {

        var specialElementHandlers = {
            '#editor': function (element, renderer) {
                return true;
            }
        };
        $('#cmd').click(function () {
            var doc = new jsPDF();
            doc.fromHTML(
                $('#dashb').html(), 15, 15,
                { 'width': 170, 'elementHandlers': specialElementHandlers },
                function () { doc.save('sample-file.pdf'); }
            );

        });
    });
</script>

$(函数(){
变量specialElementHandlers={
“#编辑器”:函数(元素、渲染器){
返回true;
}
};
$('#cmd')。单击(函数(){
var doc=new jsPDF();
doc.fromHTML(
$('#dashb').html(),15,15,
{'width':170,'elementHandlers':specialElementHandlers},
函数(){doc.save('sample-file.pdf');}
);
});
});

您需要将
click()
事件处理程序移动到函数的开头。我包括了这个,显示它的工作

$('#cmd').click(function () {
    var specialElementHandlers = {
        '#editor': function (element, renderer) {
            return true;
        }
    };
    var doc = new jsPDF();
    doc.fromHTML(
        $('#dashb').html(), 15, 15, {
            'width': 170,
            'elementHandlers': specialElementHandlers
        },
        function () {
            doc.save('sample-file.pdf');
        }
    );
});
$('#cmd').click(function () {
    var specialElementHandlers = {
        '#editor': function (element, renderer) {
            return true;
        }
    };
    var doc = new jsPDF();
    doc.fromHTML(
        $('#dashb').html(), 15, 15, {
            'width': 170,
            'elementHandlers': specialElementHandlers
        },
        function () {
            doc.save('sample-file.pdf');
        }
    );
});