2011-10-17 10 views
0

アンカー要素にjqueryライブメソッドを使用していて、アンカーをクリックして、委任をクリックすると、期待どおりに機能します。しかし、私がクリックイベントを引き起こしてデバッグコンソールでこれを試しても、決してうまく動作しません。以下の例を確認してくださいclick()またはtrigger( 'click')が機能しない

<a href="#" id="test">click me</a> 

$('#test').live('click',function(){ 
     alert('live click event'); 
}); 

私は以下のようにコンソールでそれをトリガーしようとすると。それは決してうまくいかない。

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

誰でもこの問題の原因を知っていますか?

注:Javascriptコンソールにエラーはありません。

+1

使用しているjQueryのバージョンは? – Curt

+2

あなたのクローズされていないhrefは、 'click me 'と置き換えられます:' click me' maybe?参照してください:http://jsfiddle.net/2uLT7/1/ – andlrc

+0

私はテストしていませんが、私の最高の推測は、.trigger()メソッドがイベントをバブリングしていないということです。 'live'は実際にイベントハンドラを実際の要素ではなくドキュメントにバインドします。私はそれが動作していないが少し難しい...私はそれをテストし、何がアップしているかを確認します –

答えて

2

私は、次のいずれかが問題の原因である可能性があり、あなたのコードは大丈夫だと思う:I(前のコメントで述べたように

  1. 、あなたが同じIDを持つ別のタグを持っているかもしれません他の人がこれを読んでも問題のすべての想像を絶する原因を援助することで助けてくれるかもしれません)。コンソールで照会しようとすると、タグはもう存在しません。この場合、存在しないオブジェクトを取得しようとします

  2. 与えられたタグは、特定のイベントでのみ作成されることがあります、あなたがタグに到達しようとすると、あなたが持つかもしれない、それをトリガするイベントがまだ

  3. をトリガしていなかったので、多分それは、まだ存在していません

上記のどれもあなたのケースと一致しない場合は、他のjqueryコマンドを実行してください。他のjqueryコマンドも失敗した場合は、問題の原因が見つからない可能性があります。

上記のアイデアが役に立たない場合は、システムの構造(マークアップ)と機能の詳細を教えてください。たぶん誰かがあなたを助けることができます。

関連する問題