2010-12-13 5 views
3

少し説明しにくいので、jsFiddleを設定しましたherejQuery/javascriptのさまざまな動作は、ユーザーがクリックしてプログラムでチェックボックスをクリックします。

基本的に、ユーザーがチェックボックスをクリックすると、いくつかの動作が発生します。別の場所では、プログラムでチェックボックスをクリックしようとしているので、まったく同じ動作を確認する必要があります。クリックの順序やチェックされた属性の決定に関係しているように見えます。

ハッキングに頼らずに私が探している動作を取得するにはどうすればよいですか?

答えて

2

私はこのようにそのイベントを発生、その後、(jQueryの行動を正常化するので、それはblurを必要としない)の代わりに、ここでchangeハンドラを使用する傾向がある。そして、

$('span').click(function() { $('.test').click().change(); }); 

、あなたがについて明示的ですorder ...とネイティブアクション対イベントハンドラの注文の問題がありませんyou can test it out here

+0

素晴らしい!ありがとう:) – fearofawhackplanet

1

あなたはちょうどこのHTML構文を使用して...、この動作のためにはJavaScriptを配置する必要はありません:あなたはjavascriptのlistnersを追加したい場合は、変更を追加したり、入力フィールドにクリックすることができ

<input type="checkbox" id="myid" />&nbsp;<label for="myid">My Label</label> 

:)

ORあなたはjqueryのを使用していることを実行する必要があります。

$('span').click(function() { $('.test').trigger('click'); }); 
+0

これは、例のために動作しますが、プログラムによるチェックボックスのクリックという一般的な質問ではありません:) –

+0

この行は、$( 'span')をトリックします。 ).trigger( 'click');}); –

0

を、私は同じ問題を抱えていたし、このようにjavascriptのクリック機能の代わりに、jQueryの1を呼び出し、それを固定:

$('.test')[0].click(); 
関連する問題