2010-11-19 11 views
1

jqueryプラグインの中にいくつかのクリックイベントを設定しようとしています。jquery obj.find( '> a.link')。live()?

このプラグインは、テーブルのtfootで動作しています。 このtfootのインスタンスは変数 'foot'に格納されます。

私はこれを使用しようとしています。

foot.find(' > div#table_pageination > #pages > a.link').live('click', function(){ 
    console.log('clicked'); 
}); 

しかし、これは単に効果がありません。

(はconsole.log(foot.find( '>のdiv#table_pageination> #pages> a.linkを'))やって、私はセットアップしようとしているリンクを返し

私は仕事にこれを取得できます。あなたは非絶対的なクエリにlive機能を使用することはできません。つまり、要素の基本セット、(この場合はfoot)で起動したとき。

をあなたはidのある2つの要素を持っているので?

答えて

2

.live()連鎖では使用できません。代わりに.delegate()を使用できます。

2

そこには、削除できる冗長レベルがあります。変更先:$('#pages > a.link').live(...)

+0

しかし、 ページには#pages divを持つテーブルがいくつかあるので、他のアイデアを参考にしてください。 – Hailwood

+0

@Hailwood - このフレーズを使用するのは嫌だが、間違っている。 ID *はドキュメントごとに一意でなければなりません。代わりにクラスを使用する必要があります。おそらくこれを試してください: '$( 'tfoot> div.table_pagination> .pages> a.link')。live(...)' – nickf