[英]Href to download and onclick to anchor link
也許我正在以錯誤的方式進行操作(我不會太驚訝),或者根本不可能。 我有一些鏈接,單擊這些鏈接可以下載文件。 我也想讓這些鏈接顯示一個燈箱。 我可以輕松地讓他們做一個或另一個,但不能同時做。 鏈接也可以通過asp創建。 我現在擁有的代碼:
<asp:Label id=Label1 EnableViewState="False" runat="server" Text='<%# "<A id=""launcher"" class=""track"" Href="""&DataBinder.Eval(Container, "DataItem.Url")&""">"&DataBinder.Eval(Container, "DataItem.Name")&"</A>" %>'>
</asp:Label>
在<A>
,我嘗試過: onclick=""test();return false;""
,除了onclientclick
之外,有和沒有return false;
(也嘗試true
)。
我具有的功能:
function test() {
window.location.href="#feature";
}
問題在於它永遠不會執行onclick事件。 我嘗試在該位置放置一個斷點,當我單擊鏈接時該斷點被擊中,但是我從未看到應顯示的內容。 通過這種方式或其他方式,我正在嘗試做的事情甚至可能嗎?
jsFiddle: http : //jsfiddle.net/hk3Wd/6/ 。 這與我正在工作的網站的行為略有不同。 在網站上,燈箱顯示但沒有下載。 在這種小提琴中,下載開始但不啟動燈箱。
看來您的“雙”雙引號是問題所在。 這有效
<a href='test.php' onclick='test();return false;'>click me!</a>
<script type='text/javascript'>
function test() {
window.location.href="#feature";
}
</script>
感謝Diodeus的一些建議和其他在線建議,我已經弄清楚了。
Diodeus是正確的,因為我有兩個id=launcher
實例,其中一個是不必要的。 我刪除了。
另一個是Fancybox的工作方式。 它使用href屬性確定用什么填充框架。 在這種情況下,href設置為文件(exe),因此它試圖在燈箱框架中顯示可執行文件,而不是實際下載它。
為了解決這個問題,我將<a>
標簽的onclick
設置為JS函數。 該功能:
function test() {
$("a.launcher").trigger("click");
}
在隱藏的div中,我添加了:
<a class="launcher" href="#ads"></a>
基本上,onclick會調用觸發隱藏鏈接的函數,該鏈接會啟動燈箱。
jsFiddle: http : //jsfiddle.net/FjgRw/1/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.