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;""、を除いて同じことonclientclick、ありとなしreturn false;(も試しましたtrue)。

私が持っている機能:

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

問題は、onclickイベントを実行しないことです。その場所にブレークポイントを設定してみましたが、リンクをクリックするとヒットしますが、表示すべきコンテンツが表示されません。私がやろうとしていることは、この方法または他の方法でさえ可能ですか?

jsFiddle: http: //jsfiddle.net/hk3Wd/6/。これは、私が取り組んでいるWebサイトとは少し異なる動作をしています。Webサイトでは、ライトボックスは表示されますが、ダウンロードは表示されません。そのフィドルでは、ダウンロードは開始されますが、ライトボックスは開始されません。

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や他の人からのいくつかの提案のおかげで、私はこれを理解しました。

id=launcherの2つのインスタンスがあり、そのうちの1つは不要であるという点で、Diodeusは正しかった。私はそれを削除しました。

もう1つは、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 に答える