2012-08-02 113 views
1

我在JQuery工具叠加中遇到了一些麻烦。在我的场景中,我有一个图像链接到PDF文件,通过“_blank”目标下载。当用户点击链接时,我想要链接启动我也希望调用.overlay()。看起来,.overlay()被调用,但链接永远不会执行。任何人都知道如何获得理想的行为?JQuery工具叠加和链接

这里是我的形象:

<a target='_blank' href='log.server.php?sid=26'><img class='options-img' rel='#img-transcript' src='images/pdf_icon.png' alt='Download Transcript' title='Download Transcript'/></a> 

这是我到覆盖呼叫:

$(function() { 
    $("img[rel]").overlay(); 
}); 

最后覆盖:

<div class="overlay" id="img-transcript"> 
    <img src="about.png" style="float:left; margin:0 15px 20px 0" /> 
    <table style="margin:0"> 
    <tr> 
     <div class="label">Success!</div> 
     <div class="message">Your transcript has been downloaded. See downloads to view.</div> 
    </tr> 
    </table> 
</div> 

回答

1

我有一种感觉,jQuery的工具被阻止当你以这种方式使用它时,链接的默认动作。

我发现重构你的代码稍微使得它的工作:

$("#img-transcript").overlay({ 
    load: false // don't initially load the dialog 
}); 

/* Load the overlay on click: */ 
$("a").on("click", function() { 
    $("#img-transcript").data("overlay").load(); 
}); 

例子:http://jsfiddle.net/h5NHk/(对不起,所有的猫)

+0

谢谢!这有点适应。现在,当页面上的任何链接被点击时,叠加层会被触发。我只是在图像上添加一个ID并使用您的代码:$(“#transcriptID”)。on(“click”... – Doug 2012-08-02 03:52:42