0

ここにクリックハンドラーとのリンクがあります。hrefは私が必要とする情報でいっぱいです。しかし、私はこのリンクを開くためにクリックしたくありません。だから私はevent.preventDefaultを実行し、それは正常に動作します。しかし、誰かがリンクをクリックした場合、target ="_top"にする必要があります。これも可能ですか?

4

2 に答える 2

0

event.preventDefault();関数をに変更し、return false;scrollTopを使用してhtmlアニメーションを実行しました。$('html, body').animate({scrollTop:0});

現在、リンクはhrefをたどっていませんが、上にスクロールします

于 2011-12-06T13:00:29.413 に答える
0

リンクのデフォルトのアクションを妨げている場合は、他のことをしていると思います。他の何かがウィンドウの場所の変更を伴い、上部のウィンドウの場所を変更したい場合は、window.topそれを参照してから、プロパティを介してその場所を設定できlocationます。例:

window.top.location = /* ... */;

たとえば(実例):

HTML:

<a id="theLink" href="http://jsbin.com">This link</a>
says jsbin.com and doesn't have <code>target="_top"</code>,
but will actually go to stackoverflow.com and do it
in the top window. (Seems a bit evil.)

JavaScript:

jQuery(function($) {

  $("#theLink").click(function(event) {
      window.top.location = "http://stackoverflow.com";
      return false;
  });

});

...しかし、これはなぜリンクにその仕事をさせないのかという疑問を提起します。:-)

target="_top"または、クリックしたときにリンクがないリンクに追加しようとしている場合は、次の操作を実行できます。

var link = /* ...get the link element, e.g., $("#theLink") or whatever */;
$("#theLink").click(function() {
    link.attr("target", "_top");
});

そこでデフォルトのアクションを妨げていないことに注意してください。

ただし、それが必ずしも機能することを保証したくはありません。リンクをクリックする前に属性を設定することをお勧めします。

于 2011-12-06T11:07:37.493 に答える