2011-09-15 80 views
0

我正在研究一個項目,我們試圖使用jquery jqprint插件從我們的網頁打印出一些內容。用戶通過雙擊來從網格中選擇一個項目,然後被導向到一個詳細頁面,然後他們可以通過點擊一個鏈接打印出來。當他們點擊它時,會打開兩個打印對話框,一個接一個,我們只需要一個。任何想法是什麼造成這種情況?jqprint打印對話框出現兩次

代碼:

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

另外值得注意:

我一直沒能找到jqprint文件,所以它的鏈接將不勝感激。 從頁面導航並返回到導致打印鏈接正常工作。 我很確定preventDefault()和return false是多餘的,但我沒有寫出代碼,我不確定哪個可以刪除:P 感謝您的幫助

回答

0

您可以刪除返回false,並且preventDefault應放置在jqprint之前。 另外,你也不需要die(),但是再次......有些情況下它可能有用,我只是在這裏看不到它。

我查看了jqprint的源代碼,如果您使用的是最新版本,我沒有看到有任何理由有2個對話框。

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

更新:您還可以嘗試使用點擊(),而不是活的()......生活()應該工作正常,但話又說回來,我在jQuery的收到了錯誤。

0

我的老闆想通了;一個類似的打印jquery從前一頁中留在頁腳中,並引用與此相同的id,因此單擊該鏈接會導致兩個函數都運行。更改ID可以解決問題。 感謝肖恩的努力幫助。