jqprint打印对话框出现两次

时间:2011-09-15 19:16:15

标签: jquery asp.net-mvc-3 jquery-plugins

我正在开发一个项目,我们正在尝试使用jquery jqprint插件从我们的网页打印出一些内容。用户通过双击选择网格中的项目,然后将其定向到详细信息页面,然后通过单击链接将其打印出来。当他们点击它时,它会打开两个打印对话框,一个接一个,我们只想要一个。是什么原因引起了这个?

代码:

$(document).ready(function () {
    $("#PrintLink").die();
    $("#PrintLink").live("click", function (e) {
        $("#ContentToPrint").jqprint({ importCSS: 'true' });
        e.preventDefault();
    });
    return false;
});

另外值得注意的是:

我无法找到jqprint的文档,因此非常感谢链接。 导航离开页面然后返回到它会导致打印链接正常工作。 我很确定preventDefault()和返回false是多余的,但我没有编写代码,我不知道该删除:P 谢谢你的帮助

2 个答案:

答案 0 :(得分:0)

你可以删除return false,并且应该在jqprint之前放置preventDefault。 此外,你不应该需要die(),但是再次......有些情况下它可能有用我只是在这里看不到它。

我查看了jqprint的源代码,如果你使用的是最新版本,我认为没有理由有2个对话框。

http://plugins.jquery.com/node/14098

更新:您也可以尝试使用click()而不是live()... live()应该可以正常工作但是之后我在jQuery中遇到了错误。

答案 1 :(得分:0)

我的老板想通了;一个类似的打印jquery从前一页页面留下了页脚,并引用了与此相同的id,因此单击该链接会导致两个函数都运行。更改ID修复了问题。 感谢Shawn努力提供帮助。