0

也许我以错误的方式处理这个问题(我不会太惊讶)或者也许这是不可能的。我有链接,单击时会下载文件。我还想让这些链接显示一个灯箱。我可以很容易地让他们做一个或另一个,但不能两者兼而有之。链接也是通过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;""之外的相同的东西。onclientclickreturn false;true

我有的功能:

function test() {
  window.location.href="#feature";
}

问题是它从不执行 onclick 事件。我尝试在该位置放置一个断点,当我单击链接时它会被击中,但我从未看到应该显示的内容。我正在尝试做的事情是否可能,这种方式或其他方式?

jsFiddle:http: //jsfiddle.net/hk3Wd/6/。这与我正在处理的网站上的行为略有不同。在网站上,灯箱显示但没有下载。在那个小提琴中,下载开始但不是灯箱。

4

2 回答 2

1

看来您的“双”双引号是问题所在。这有效

<a href='test.php' onclick='test();return false;'>click me!</a>
<script type='text/javascript'>
function test() {
    window.location.href="#feature";
}
</script>
于 2012-11-05T19:15:09.907 回答
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/

于 2012-11-06T00:25:10.367 回答