繁体   English   中英

Href下载并单击以锚定链接

[英]Href to download and onclick to anchor link

也许我正在以错误的方式进行操作(我不会太惊讶),或者根本不可能。 我有一些链接,单击这些链接可以下载文件。 我也想让这些链接显示一个灯箱。 我可以轻松地让他们做一个或另一个,但不能同时做。 链接也可以通过asp创建。 我现在拥有的代码:

<asp:Label id=Label1 EnableViewState="False" runat="server" Text='<%# "<A  id=""launcher"" class=""track"" Href="""&amp;DataBinder.Eval(Container, "DataItem.Url")&amp;""">"&amp;DataBinder.Eval(Container, "DataItem.Name")&amp;"</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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM