2016-12-08 5 views
0

나는 jQuery() 함수의 대상은 무엇입니까?

$(document).ready(function (e) { 
     $('#previewing').attr('src', e.target.result); 
}); 

(나는 중간 아웃 일부 코드를 왼쪽) 이미지 업 로더에이 코드를 발견했다. e.target은 무엇을 의미합니까? "e"jQuery() 함수의 참조 일 것이라고 생각했습니다.

전체 코드 여기에서 볼 수있다 : 위의 두 게시 라인 아래에서 사이트 양식 1 호선과 5 호선의 두 번째 JS 파일에서 올

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

.

답변

0

e은 다른 라이브러리 및/또는 $을 참조로 사용하는 개체와의 충돌을 방지하기 위해 현재 jQuery 개체를 다시 참조합니다. 이것은이 경우에 해당합니다. 당신은 $(document).ready 이후에 jQuery ($)에 아무것도 말하지 말고 jQuery를 계속 사용한다고 말하고있다.

다른 경우 eevent 객체를 참조 할 수 있습니다 e이 이벤트로 해고

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

. 예를 들어

+0

나는 on 메서드의 핸들러에서 e가 무엇을 의미하는지 이해합니다. 하지만 당신을 이해한다면, 준비 메소드의 핸들러에서 "e"는 $의 별명입니다. 나는 아직도 "e.target"즉 "$ .target"이 의미하는 바가 무엇인지 이해하지 못합니다. $ -function의 대상은 무엇입니까? –

+0

나는 당신이 참고로 사용한 웹 사이트의 코드를 검토했다. 그들은 'jQuery document (ready)'에 대한 핸들러로'e'를 사용하고 있습니다. (제 생각에는'$'이고 분명히'e'가되어야합니다.) 그리고'e' 변수를 다시 설정하고 다시 - onSubmit 이벤트 처리기로 사용하십시오. 당신이 나에게 묻는다면 나쁜 품질의 코드. 두 번째 질문에 답하려면 첫 번째 객체에'$'-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