2012-01-04 14 views
2

ユーザーが含まれている<TD>をクリックしても問題が発生した場合、アンカーのクリックを模倣したいと思います。jQuery - 模倣クリック

これは、JSの一部です:

$('contactTab').click(function() { 
    $('contactTabLink').trigger("click"); 
}); 

そして、これはHTMLの一部です:誰かが<TD> contactTabをクリックすると

<td class="previewTabs" id="contactTab"> 
<a class="previewTabLink" id="contactTabLink" rel="#contactOverlay">CONTACT</a> 
</td> 

が、それは<A> contactTabLinkその後、起動上のクリックイベントをトリガする必要がありますオーバーレイ。私の問題は、クリックリスナーを使用したJS関数がまったく起動していないことです。

どこに間違っているのか誰でも見ることができますか?

EDIT 1:

私は#の年代を持つようにセレクタを変更しましたが、それはまだ機能を起動しません。

+0

'$( 'contactTab')'はタグcontactTabを持つ要素を見つけようとします。あなたは[IDセレクター](http://api.jquery.com/id-selector/)が必要です。クリックイベントをトリガーしても、ブラウザはリンクをたどることはありません。 –

+0

ええ、あなたのjQueryセレクタのIDの前に "#"がありません。 $( '#contactTab')を使用してください。 $( 'contactTab')ではない –

+0

'$( 'contactTabLink')'に対して定義されたクリックリスナはどこですか?クリックはトリガーされていますが、定義されているリスナーは表示されないため、クリックイベントを処理するアクションはありません。 – tkone

答えて

9

セレクタが正しくありません。それは、このする必要があります

$('#contactTab').click(function() { 

    $('#contactTabLink').trigger('click'); 

}); 
+1

あなたの2番目の行にはまだ# –

+0

がありません。あなたが今修正したようです。 –

+0

ええ、私は投稿した後にエラーを見ました。サックス! – nolabel

1

セレクタが間違っています。
IDセレクタには#が必要です。

0

あなたのセレクタが間違っている - あなたは前に「#」を持っている必要がありますので、あなたはIDを使用しています。

$('#contactTab').click(function() { 
    $('#contactTabLink').trigger("click"); 
}); 
0

セレクタにハッシュ(#)を追加した後、その関数は$に包まれていることを確認してください(ドキュメント).ready(関数(){} yourFunction)...私が思う

$(document).ready(function() { 
    $('#contactTab').click(function() { 
     $("#contactTabLink").trigger("click"); 
    }); 
}); 
1

あなたのhtmlが書式設定されている方法でここに注意するべきことは、がの親であるために$('#contactTab').clickが発生するため、無限ループの再帰が発生します。いくつかのブラウザはコンソールにエラーを表示するか、単に応答しません。

<td class="previewTabs" id="contactTab"> 
    <a href="javascript:;" class="previewTabLink">CONTACT</a> 
</td> 
<a class="previewTabLink" id="contactTabLink" rel="#contactOverlay"></a> 
関連する問題