我正在开发一个项目,我们正在尝试使用jquery jqprint插件从我们的网页打印出一些内容。用户通过双击选择网格中的项目,然后将其定向到详细信息页面,然后通过单击链接将其打印出来。当他们点击它时,它会打开两个打印对话框,一个接一个,我们只想要一个。是什么原因引起了这个?
代码:
$(document).ready(function () {
$("#PrintLink").die();
$("#PrintLink").live("click", function (e) {
$("#ContentToPrint").jqprint({ importCSS: 'true' });
e.preventDefault();
});
return false;
});
另外值得注意的是:
我无法找到jqprint的文档,因此非常感谢链接。 导航离开页面然后返回到它会导致打印链接正常工作。 我很确定preventDefault()和返回false是多余的,但我没有编写代码,我不知道该删除:P 谢谢你的帮助
答案 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努力提供帮助。