jquery打印插件每次我点击时加载



我正在使用jquery打印插件

    $(document).ready(function() {
            
            $(".printButton").printPage({
                url: "pages/report.html",
                attr: "href",
                message:"Your document is being generated"
            });
        });

带有上述脚本的 Jsp 页面

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
   <script>
       
       $(document).ready(function() {
            
            $(".printButton").printPage({
                url: "pages/report.html",
                attr: "href",
                message:"Your document is being generated"
            });
        });
    </script>
</head>
<body>
    <h1>Press Yes to Print </h1>
    <p><a class="printButton" href='exception.jsp'>Yes</a></p>
</body>
</html>
第一次打开页面

并按是时,它会打印一次,当我第二次打开页面时,按是时,单击一下即可打印 2 页,第三次单击即可打印三页。

它意味着每次点击,jquery打印插件库一次又一次地加载。我们如何控制这种情况?

没有问题,在你这边。按以下方式编辑 jquery 插件库。

添加以下内容

this.die();

在以下语句之后

$.extend(pluginOptions, options);

这将正常工作!

该插件没有问题,因为它使用 live,因此您需要将其添加到页面代码中,而不是在 ajax 调用中。

当然,也许我(我是作者)不应该为此使用事件委托,这是当时项目的要求,我可能会更改它,以便它将自己绑定到 on() 的 dom。

至于其他评论,你们没有抓住重点。此插件用于打印按钮上的 Web 应用程序中,因此您可以直接打印特殊的数据网格。它将URL加载到iframe中并打印出来,所以你显然需要你的打印CSS。

不确定

要打印什么,异常.jsp或 pages/report.html。 可能发生的情况是你定义了太多的参数。

通过检查插件,在我看来,您只需要将<a>中的 href 设置为您要打印的页面的 url,仅此而已,其他参数只是让您指定 href 以外的内容(默认情况下它使用)。因此,请尝试从 jquery 调用中删除urlattr,并将<a>中的 href 更改为"pages/report.html"(如果这是您要打印的页面)。 不知道.jsp应该做什么例外。

最新更新