次のコードを使用してテーブルcompareTable
内のアンカークリックをトリガーしていますが、効果がないようです。 any1はソリューションを指摘できますか?ここでjqueryを使用してテーブル内のアンカーをトリガーする
$('#compareTable a').click(function() {
alert("hi");
});
は<a>
タグを使用すると、そのクリックハンドラをバインド時には存在しませんdemo
次のコードを使用してテーブルcompareTable
内のアンカークリックをトリガーしていますが、効果がないようです。 any1はソリューションを指摘できますか?ここでjqueryを使用してテーブル内のアンカーをトリガーする
$('#compareTable a').click(function() {
alert("hi");
});
は<a>
タグを使用すると、そのクリックハンドラをバインド時には存在しませんdemo
です。 .delegate()
または.live()
を使用して(または要素の作成時にハンドラをバインドして)これを解決できます。前者は通常は好ましいと思われますが、マークアップが難しいと感じていますので、すぐに回避方法を.live()
と共有します。シンプルであるように:
$('#compareTable a').live('click', function() {
alert("hi");
});
jQueryのメソッドは2つ折りです。空の引数(つまり、引数を渡さない)でそれらを呼び出すと、その意味をします。 $('#something').click()
は、クリックされることを意味します。通常はコールバックハンドラである引数を指定すると、ハンドラが登録されます。だから、あなたが使用する必要があります。
$('#copareTable a').click();
そしてもちろん
を、あなたはどのような理由なしに、これらのリンクをクリックしたくないので、あなたはおそらく別のイベントに応答して、このコードを書く必要があります。以下のような何か:$('#register').click(function(){
$('#compareTable a').click();
});
も$('#comparetTable a')
は、そのテーブル内のすべてのアンカーリンクのコレクションであることを忘れないでください。したがって、clickディレクティブを送信すると、すべてがクリックされます。
これはトリガしません、これはイベントハンドラをバインドします...あなたのデモでは、テーブルにアンカー( '')がありません... –