Href下载和onclick到锚链接

时间:2012-11-05 19:04:48

标签: javascript asp.net html

也许我会以错误的方式解决这个问题(我不会太惊讶)或者说这可能是不可能的。我有链接,点击时,下载文件。我还想让这些链接显示一个灯箱。我可以很容易地让他们做一个或另一个,但不是两个。这些链接也是通过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/。这与我正在处理的网站上的行为略有不同。在网站上,灯箱显示但没有下载。在那个小提琴中,下载开始但不是灯箱。

2 个答案:

答案 0 :(得分:1)

似乎你的“双”双引号是问题。这工作

<a href='test.php' onclick='test();return false;'>click me!</a>
<script type='text/javascript'>
function test() {
    window.location.href="#feature";
}
</script>

答案 1 :(得分:0)

感谢Diodeus和其他人在线发现的一些建议,我已经想到了这一点。

Diodeus是正确的,我有两个id=launcher个实例,其中一个是不必要的。我删除了。

另一个是Fancybox的工作方式。它使用href属性来确定填充框架的内容。在这种情况下,href被设置为文件(exe),因此它试图在灯箱框架中显示可执行文件,而不是实际下载它。

要解决此问题,我将onclick标记的<a>设置为JS函数。那个功能:

function test() {
   $("a.launcher").trigger("click");
}

在我隐藏的div中,我补充道:

<a class="launcher" href="#ads"></a>

基本上,onclick调用触发启动灯箱的隐藏链接的函数。

jsFiddle:http://jsfiddle.net/FjgRw/1/