2011-12-06 4 views
0

私はここにクリックハンドラーとのリンクを持っています。 hrefは必要な情報で満たされています。しかし、私はこのリンクを開くにはクリックしないでください。だから私はevent.preventDefaultを行い、正常に動作します。しかし、私はtarget = "_ top"誰かがリンクをクリックする必要があります。これも可能ですか?event.preventDefaultでリンクをターゲットに設定するにはどうすればよいですか?

答えて

0

return false;event.preventDefault();機能を変更し、scrollTopスプライトを使ってHTML animatationました:$('html, body').animate({scrollTop:0});

今リンクはhrefの次されていないが、それは

先頭にスクロール
0

リンクのデフォルト動作を妨げている場合は、別のことをしています。その何かがウィンドウの位置を変更することにし、あなたがトップウィンドウの位置を変更したい場合、あなたはそれを参照するためにwindow.topを使用し、locationプロパティを介して、例えばその場所を設定することができますについて

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

インスタンス(live example):

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"); 
}); 

注私はを妨げないだということデフォルトアクションがそこにあります。

  —リンクをクリックする前に属性を設定しておくことをお勧めします。

関連する問題