2009-08-05 16 views
1

誰かがリンクをクリックした後、私がIDとして割り当てたリンク内のvarを参照することができるようにしたいと考えています。このようなリンクを与え例えば:div内のref divとhref id

<a class="TrackClick" id="SomeUnknownVar" href="javascript:void(0)" onClick="window.open('http://someurl','','width=650,height=400,scrollbars=yes,left=150,top=100,screenX=150,screenY=100'); return false">do the deed</a> 

を私はjQueryのこの少しは私のためにそれを行うだろう期待していたが、それは

$(document).ready(function() { 
    $(".TrackClick").click(function(){ 
     trackcode = this.id; 
     alert("trackcode"); 
    }); 

ませんが、それが動作しない、任意のアイデア?

TIA!

+0

これの代わりに$(this)を使用しようとしましたか? – Sebastian

答えて

2

urlをhrefに追加し、jQuery追加ハンドラを使用して新しいウィンドウを開きます。つまり、マークアップに適用されたハンドラは、falseを返すためにjQueryハンドラを短絡していると考えられます。あるいは、単にfalseを返すだけで、jQueryを適用したハンドラにリンク上のデフォルトアクションを停止させる(falseを返す)ことができます。

<a class="TrackClick" id="SomeUnknownVar" href="http://someurl">do the deed</a> 

のjQueryコード:

$(function() { 
     $('.TrackClick').click(function() { 
      var $this = $(this); 
      var href = $this.attr('href'); 
      window.open(href,'','width=650,height=400,scrollbars=yes,left=150,top=100,screenX=150,screenY=100'); 
      alert($this.attr('id')); 
      return false; 
     }); 
}); 
+0

サンプルコードをありがとう、私はこの方法を試してみましょう! – Chris

+0

これには、JavaScriptが有効になっていない場合でもリンクが引き続き機能するというわずかな利点があります。 – tvanfosson

+0

Tvanfosson、もう1つ質問できますか?新しいウィンドウで開きたいリンクとリンクしていないリンクの両方にこれを適用できる簡単な方法はありますか? "window.open"を使用しない別のクラスを使うのが最善でしょうか? TIA !! – Chris

0

これは、しかし、ここでは動作しません:

$(document).ready(function() { 
    $(".TrackClick").click(function(){  
      trackcode = this.id; 
      alert(trackcode); 
    }); 
}); 

を私は行方不明を閉じました "});"最後の行で、 "trackcode"という単語の代わりに実際のtrackcode変数を表示するようにしました。

+0

うわー、私はそれが二重引用符だったとは信じられません。これはjqueryへの私の始まりなので、私は知らなかった。私はtvanfossonのソリューションを試してみるつもりだと思うので、短絡の問題はありません。ありがとう! – Chris