2016-12-08 2 views
0

Iは、(I中間アウトいくつかのコードを左側)画像アップローダjQuery() - 関数の対象は何ですか?

​​

このコードスニペットを発見しました。 e.targetとは何ですか? "e"は、関数jQuery()の参照になると思いましたか?

全体コードは、ここで見ることができる:上記からの二つ転記行は以下からサイトフォームライン1およびライン5上の第二のJSファイルから来

https://www.formget.com/ajax-image-upload-php/

答えて

0

eは、$を参照として使用する他のライブラリやオブジェクトとの競合を防ぐため、現在のjQueryオブジェクトを参照しています。それはちょうどこの場合です。 $(document).readyの後にjQuery($)が何かを起動してjQueryを使い続けるように指示しています。 eをイベントとして解雇され

$('#element').on('click', function(e) { 
    var clickEvent = e; 
}); 

eeventオブジェクトを参照することができ、他の例で

。例えば

+0

私は、オンメソッドのハンドラでeが何を意味するのか理解しています。しかし、私があなたを正しく理解するならば、準備メソッドのハンドラの "e"は$のエイリアスです。私はまだ "e.target"、つまり "$ .target"が何を意味するのか理解していません。 $関数の目標は何でしょうか? –

+0

私はあなたが参考にしたウェブサイトのコードを見直しました。彼らは、 'e'を' jQuery文書(準備完了) 'のハンドラとして使用しています(私の意見では' $ 'で、間違いなく' e'でなければなりません)。 'onSubmit'のイベントハンドラとして使用します。あなたが私に尋ねると、品質の悪いコード。 2番目の質問に答えるには、最初のオブジェクトに '$' -functionのターゲットはありません。 'e.target.src'の' e'は 'reader.onload = imageIsLoaded;'によって呼び出される 'imageIsLoaded(e)'から来て、 'FileReader();'によってイベントが送られたと思います。 –

+0

イメージアップローダーのより良いコードを入手できるヒントを教えていただけますか?私はjQueryコードではあまり経験がありません... –

0

例コードの問題は、ready()ハンドラを使用しているためです。この場合、ハンドラ関数に提供されるパラメータはjQueryオブジェクトです(他のライブラリとの競合を避けるためにエイリアスを与えることができます)。

ready()ハンドラもイベントを受信しないため、ロード時にimg要素のsrcを設定することで、何を達成しようとしているのかが明確ではありません。標準のイベントハンドラ(すなわち。click()keyup()on()、等...)で

eパラメータが提起されたイベントへの参照です。 e.targetはイベントを発生させた要素です。 jQueryがイベントを発生させた要素のスコープ内でイベントハンドラ関数を起動すると、e.targetthisの両方が同じ要素を指し示し、入れ替えることができます。可能であれば、thisを使用するのが一般的な方法です。

0

<select> 
 
    <option value ="v1">v1</option> 
 
    <option value ="v2">v2</option> 
 
    <option value="v3">v3</option> 
 
    <option value="v4">v4</option> 
 
</select>

e.targetは、あなたが今何を選ぶかを意味します。

+0

e.target.valueはv2でもかまいません。 – Romeo

関連する問題