2016-08-17 13 views
1

私はFreeCodeCampのランダム見積もり機の運動をしています。Tweetボタンを押して新しいウィンドウと新しいタブを開く

this answerを使用して、私はツイートボタンを設定して、ユーザがこの引用符をつぶすために使用できるタブではなく、新しいウィンドウを開くようにしました。

唯一の問題は、新しいタブと新しいウィンドウを開いていることです。新しいウィンドウを開くだけの方法はありますか?

ツイートリンク

<a class="twitter-share-button" href="https://twitter.com/intent/tweet" target="_newwin"> 
Tweet</a> 

関連のJavaScript

jQuery('a[target^="_newwin"]').click(function() { 
    var width = 500; 
    var height = 300; 
    window.open(this.href , 'newwindow', 'width=' + width + ', height=' + height + ', top=' + ((window.innerHeight - height)/2) + ', left=' + ((window.innerWidth - width)/2)); 
}); 

Pen of my Project

のためのHTMLは、ありがとう!

+0

を、http://stackoverflow.comを試してみてください/ questions/3786898/jquery-anchor-preventdefault – yuriy636

+1

簡単な回避策はアンカーに 'onclick =" return false; "'を追加することです。 –

答えて

3

カスタム動作(新しいウィンドウを開く)とリンクの標準的な動作(ほとんどのブラウザでは新しいタブを開く)の両方が得られます。後者を防ぐために、あなたは'preventDefault'メソッドを使用する必要がありますので、アンカーのデフォルトの動作で開かれた推測新しいウィンドウ(またはタブ)で

jQuery('a[target^="_newwin"]').click(function(e) { 
    e.preventDefault(); 
    var width = 500; 
    var height = 300; 
    window.open(this.href , 'newwindow', 'width=' + width + ', height=' + height + ', top=' + ((window.innerHeight - height)/2) + ', left=' + ((window.innerWidth - width)/2)); 
}); 
+0

これは私の問題を解決し、preventDefault()が何のためのものか、私に大きな理解を与えました、ありがとう、マーティン! –

関連する問題