2010-12-07 9 views
32

.click().change()ハンドラ(return truereturn falseなど)から値を返すために使用することはありますか?Jqueryイベントハンドラが値を返す

+1

どういう意味ですか?その結果(戻り値)の使い方の例を示してください。 –

+1

一部の人が真実の他の人を誤って返してしまったので好奇心が強いです。ドキュメントで何も見つかりませんでした。 – Buzzzz

答えて

41

return false;は、イベントがバブリングしないようにします。およびデフォルトの動作を抑制します。 falseを返す換言すれば

は、イベントそのバブルのための2行

event.stopPropagation(); 
event.preventDefault(); 

に類似しており、少なくとも、キャンセルされています。

20

(のみjQueryのイベントハンドラの、ティムダウンコメントで示唆されるように)event.stopPropagation()におけるそのようなハンドラ結果にreturn falseevent.preventDefault()はjQueryのによって自動的に呼び出されます。

return trueは何も返さないと同じです(jQueryでは何も処理されません)。

+3

その場合、jQueryは自由を取っています。非jQueryイベントハンドラの場合、 'return false'はデフォルトのアクションだけを防止し、イベントがバブリングするのを止めません。 –

+0

@Tim Down:お勧めします。私はそれを私の答えに加えます。 – jwueller

+0

@TimDown「非jQueryイベントハンドラ」によって、addEventListenerなどのjQueryメソッド(.onまたは.live/.bind/.delegate)以外の方法で接続されたハンドラを明確にしてください。 –

関連する問題