[英]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.