0

さて、これには似たようなスレッドがいくつかありますが、頭に釘付けになっているものは何も見つかりませんでした。

次のように、アンカータグを使用してリンクをシミュレートしようとしています。

<a onClick="javascript: DownloadPorn();">Click Here!</a>

これはすべてうまく機能し、ダンディです。リンクが表示され、クリックすると、javascriptメソッドが正常に実行されます。

ここでの問題は、リンクを実際の「HTMLリンク」と「同じ方法」で正しく表示するにはどうすればよいですか?むしろ、「同じ方法で」、上記のタグにhrefを含める場合と同じように。そのようです:

<a href="#" onClick="javascript: DownloadMorePorn();">Click Here!</a>

さて...このコードスニペットは、リンクを私が期待する方法で表示するように強制しますが、この方法を使用すると、リンクがクリックされると、スクロール位置が一番上に戻ります。

これは、私が開発しようとしているフレームワークの意図された動作ではないことはおそらく明らかです。この特定の問題を克服するための提案があれば、ぜひご意見をお聞かせください。

---これをすべて入力しているときに、画面の上部に静的アンカー(たとえば、0,0または-、-)を配置し、すべてのリンクにそのアンカーを参照させることができると考えました。誰かがこのソリューションで実行可能性を見つけたら、私はそれを探求する可能性があります。

---編集---

受け入れられた回答:

ブラウザの現在の位置を操作せずに、アンカーをハイパーリンクとして動作させるため。href属性に何も返さない(?)Javascriptメソッドを使用するか、アンカーの代替イベントハンドラーの1つであるonClickメソッドで'false'を有効に返します。

可能な解決策:

<a href="javascript: DoSomething();">Link</a>
<a href="javascript: void(0);" onClick="javascript: DoSomething();">Link</a>
<a href="#" onClick="javascript: DoSomething(); return false;">Link</a>

みなさん、ありがとうございました。

---編集終了---

4

3 に答える 3

1

に設定するhrefjavascript:void(0);、ブラウザに実際のリンクがあるかのようにリンクが表示されますhref

<a href="javascript:void(0);" onClick="javascript: DownloadBooks();">Click Here!</a>

hrefをに設定するなど、他の方法もありますが#、示されている方法の利点は、falseを返したり。を指定したりすることを心配する必要がないことですreturn DownloadBooks()

この質問には、の使用に関するいくつかの良い情報がありますjavascript:void(0)

于 2012-12-12T18:13:14.260 に答える
1

javascript関数をhrefに設定します。

<a href="javascript:DownloadPorn();">Click Here!</a>

編集:一部の人がこの悪い習慣を考慮していることに注意してください。

于 2012-12-12T18:15:33.380 に答える
1

onclick属性の最後で使用するreturn falseと、どこにもスクロールしません。

<a href="#" onClick="someFunc(); return false;">Click Here!</a>

または、関数にfalseを返し、その結果(false)を返すだけでなく、onclick属性(短い方)で実行することもできます。

<script type="text/javascript">
function someFunc() {
    // all your function code here
    return false;
}
</script>
<a href="#" onClick="return someFunc()">Click Here!</a>
于 2012-12-12T18:33:03.877 に答える