2014-01-07 3 views
5

私はjQueryのソースコードから、このスニペット(イベント処理)を発生しました:誰かがこのコードを.bind()関数を使って説明できますか?

var events = ['click', 'focus', 'blur', …]; 
jQuery.each(event,function(i,name){ 
    jQuery.prototype[name] = function(fn){ 
     return this.bind(name,fn); 
    }; 
}); 

誰かが私にこれを説明することはできますか? this.bind(name,fn);element.addEventListener('event','callback()')と同じように機能しますか?

私はJavaScriptの基本を知っていますが、私はJavaScriptのより高度な部分についてはわかりません。私は自分自身を教えて以来、私のJavaScriptの知識には多くの穴があります。誰かが良い情報源を知っていれば、より高度なJavaScriptを学ぶことができました。私もそれを聞きたいと思います。

ありがとうございます。

+1

インターネットで検索しようとしましたか?そうでない場合は、このリンクをクリックしてください。 http://api.jquery.com/bind/ –

+3

イベントを反復して、プロトタイプで 'jQuery'のプロパティとして設定し、新しいプロパティをネイティブのjavascriptの' bind'メソッドをラップする関数を参照するように設定します – adeneo

+5

@ RonakBhattはjqueryのバインドではありません。それは間違ったリンクです – Fresheyeball

答えて

4

それは我々が配列[click, focus ...]のすべてのイベントを簡単に私たちはそのアレイ上のforeachを適用すると、コードの次の部分が$('#me').click()になりますjQueryのプロトタイプ$.fn.click()に機能を割り当て、そして最終的にこのclick();関数が呼び出されます$.fn.bind();を呼び出す必要があり、非常に簡単ですaddEventListener()、それだけです。

addEventListener()が、aboutbind()をjQueryで読んでいると疑問が残っている場合は、

+0

ありがとう、これは本当に私を助けてくれました! :) – Progo

関連する問題