Javascript/jQuery에서 (e)는 무엇을 의미합니까?
저는 자바스크립트/jQuery가 처음이고 기능을 만드는 방법을 배우고 있습니다.대괄호 안에 (e)가 있는 많은 기능들이 표시되어 있습니다.제가 무슨 말을 하는지 보여드리겠습니다.
$(this).click(function(e) {
// does something
});
함수는 항상 (e)의 값도 사용하지 않는 것처럼 보이는데, 왜 그렇게 자주 있는 것입니까?
e
는 짧은의 var 조니다입참의 입니다.event
이벤트 핸들러에 전달될 개체입니다.
이벤트 개체에는 기본적으로 이벤트 처리기에서 사용할 수 있는 많은 흥미로운 메서드와 속성이 있습니다.
당신이 게시한 예에서 클릭 핸들러는 다음과 같습니다.MouseEvent
$(<element selector>).click(function(e) {
// does something
alert(e.type); //will return you click
}
DEMO - 마우스 이벤트 DEMO 사용e.which
그리고.e.type
몇 가지 유용한 참고 자료:
http://api.jquery.com/category/events/
http://www.quirksmode.org/js/events_properties.html
http://www.javascriptkit.com/jsref/event.shtml
http://www.quirksmode.org/dom/events/index.html
http://www.w3.org/TR/DOM-Level-3-Events/ #event-types-list
고지 사항: 이 게시물에 대한 답변은 매우 늦었지만, 이 질문에 대한 다양한 답변을 읽으면서 대부분의 답변은 숙련된 코딩자만이 이해할 수 있는 용어를 사용한다는 것이 인상적이었습니다.이 대답은 초보자를 염두에 두고 원래 질문을 다루려는 시도입니다.
도입부
작은 '(e)' 것은 사실 자바스크립트에서 이벤트 처리 기능이라고 불리는 더 넓은 범위의 일부입니다.모든 이벤트 처리 기능은 이벤트 개체를 수신합니다.이 토론의 목적을 위해 개체를 다른 언어의 개체와 마찬가지로 여러 속성(변수)과 메서드(함수)를 보유하는 "사물"로 생각합니다.작은 (e) 사물 안에 있는 'e'라는 손잡이는 물체와 상호 작용할 수 있게 해주는 변수와 같습니다. (그리고 저는 변수라는 용어를 매우 느슨하게 사용합니다.)
다음 jQuery 예제를 고려해 보십시오.
$("#someLink").on("click", function(e){ // My preferred method
e.preventDefault();
});
$("#someLink").click(function(e){ // Some use this method too
e.preventDefault();
});
설명.
- "#someLink"는 요소 선택기(HTML 태그가 이를 트리거함)입니다.
- 클릭은 이벤트입니다(선택한 요소를 클릭한 경우).
- "function(e)"은 이벤트 처리 기능입니다(이벤트가 발생하면 객체가 생성됨).
- "e"는 객체 핸들러입니다(객체에 액세스 가능).
- "preventDefault()"는 객체에서 제공하는 메서드(함수)입니다.
무슨 일입니까?
사용자가 ID "#someLink"(아마 앵커 태그)를 가진 요소를 클릭하면 익명 함수 "function(e)"을 호출하고 결과 개체를 핸들러 "e"에 할당합니다.이제 해당 핸들러를 사용하여 메서드 중 하나인 "e.proventDefault()"를 호출하면 브라우저가 해당 요소에 대한 기본 작업을 수행할 수 없습니다.
참고: 핸들의 이름은 원하는 대로 지정할 수 있습니다(예: '기능(빌리밥)').'e'는 'event'를 의미하는데, 이런 종류의 기능에는 꽤 표준적인 것 같습니다.
'e.preventDefault()'가 이벤트 핸들러의 가장 일반적인 용도일 수 있지만 개체 자체에는 이벤트 핸들러를 통해 액세스할 수 있는 많은 속성과 메서드가 포함되어 있습니다.
이 주제에 대한 몇 가지 정말 좋은 정보는 jQuery의 학습 사이트인 http://learn.jquery.com 에서 찾을 수 있습니다.jQuery Core 및 이벤트 사용 섹션에 특히 주의하십시오.
e
특별한 의미는 없습니다.그저 사용하기 위한 관례일 뿐입니다.e
매개 변수가 다음일 때 함수 매개 변수 이름으로event
.
그럴 수 있다.
$(this).click(function(loremipsumdolorsitamet) {
// does something
}
뿐만 아니라.
그 예에서,e
그 함수에 대한 매개 변수일 뿐이지만, 그것은event
개체를 통해 전달됩니다.
그e
인수는 이벤트 개체의 줄임말입니다.예를 들어, 기본 작업을 취소하는 앵커용 코드를 만들 수 있습니다.이를 위해 다음과 같은 내용을 작성합니다.
$('a').click(function(e) {
e.preventDefault();
}
이것은 다음과 같은 경우를 의미합니다.<a>
태그를 클릭하면 클릭 이벤트의 기본 동작이 방지됩니다.
자주 볼 수 있지만 인수로 지정해도 함수 내에서 사용할 필요가 없습니다.
jQuery에서e
의 줄임말인event
현재 이벤트 개체입니다.일반적으로 이벤트 기능이 실행되는 매개 변수로 전달됩니다.
데모: jQuery 이벤트
내가 사용한 데모에서e
$("img").on("click dblclick mouseover mouseout",function(e){
$("h1").html("Event: " + e.type);
});
나는 사용하는 것이 더 나을 것입니다.event
$("img").on("click dblclick mouseover mouseout",function(event){
$("h1").html("Event: " + event.type);
});
같은 것!
프로그래머들은 게으릅니다. 우리는 속기를 많이 사용합니다. 부분적으로는 우리의 작업을 줄이고, 부분적으로는 가독성에 도움이 됩니다.그것을 이해하는 것은 당신이 코드를 작성하는 정신을 이해하는 데 도움이 될 것입니다.
오늘 저는 "e.preventDefault()에서 "e"와 같은 문자를 사용하는 이유는 무엇입니까?"에 대한 게시물을 작성했는데, 제 대답이 어느 정도 일리가 있을 것 같습니다.
먼저 addEventListener 구문을 살펴보겠습니다.
일반적으로 target.addEventListener(type, listener[, useCapture]);
addEventlistener의 매개 변수 정의는 다음과 같습니다.
type : 수신 대기할 이벤트 유형을 나타내는 문자열입니다.
listener : 지정한 유형의 이벤트가 발생할 때 알림을 수신하는 개체(Event 인터페이스를 구현하는 개체)입니다.이 개체는 EventListener 인터페이스 또는 JavaScript 함수를 구현하는 개체여야 합니다.
(MDN에서)
하지만 한 가지 언급해야 할 것이 있다고 생각합니다.Javascript 함수를 리스너로 사용하면 Event 인터페이스(object event)를 구현하는 개체가 함수의 "첫 번째 매개 변수"에 자동으로 할당됩니다.따라서 함수(e)를 사용하면 "e"가 함수의 유일한 매개 변수이기 때문에 개체가 "e"에 할당됩니다(분명히 첫 번째 매개 변수입니다!). 그러면 e.proventDefault를 사용하여 무언가를 방지할 수 있습니다.
다음과 같은 예제를 사용해 보겠습니다.
<p>Please click on the checkbox control.</p>
<form>
<label for="id-checkbox">Checkbox</label>
<input type="checkbox" id="id-checkbox"/>
</div>
</form>
<script>
document.querySelector("#id-checkbox").addEventListener("click", function(e,v){
//var e=3;
var v=5;
var t=e+v;
console.log(t);
e.preventDefault();
}, false);
</script>
결과는 : [objectMouseEvent]5가 되며 클릭 이벤트를 방지할 수 있습니다.
그러나 다음과 같은 댓글 표시를 제거하면 다음과 같습니다.
<script>
document.querySelector("#id-checkbox").addEventListener("click", function(e,v){
var e=3;
var v=5;
var t=e+v;
console.log(t);
e.preventDefault();
}, false);
</script>
8과 오류가 표시됩니다."UncaughtTypeError: e.reventDefault는 HTMLInputElement.(VM409:69)의 함수가 아닙니다."
물론 이번에는 클릭 이벤트가 방지되지 않을 것입니다.함수에서 "e"가 다시 정의되었기 때문입니다.
그러나 코드를 다음으로 변경하는 경우:
<script>
document.querySelector("#id-checkbox").addEventListener("click", function(e,v){
var e=3;
var v=5;
var t=e+v;
console.log(t);
event.preventDefault();
}, false);
</script>
모든 것이 다시 제대로 작동할 것입니다...당신은 8을 얻을 것이고 클릭 이벤트는 방지될 것입니다...
따라서 "e"는 함수의 매개 변수일 뿐이며 "이벤트 개체"를 수신한 다음 e.preventDefault()를 수행하려면 함수()에 "e"가 필요합니다.이것이 또한 "e"를 js에 의해 예약되지 않은 단어로 변경할 수 있는 이유입니다.
현재 이벤트 개체에 대한 참조입니다.
이것은 나의 첫 스택 오버플로 도움말이 될 것이지만 나는 내 대답이 이것을 읽는 누구에게나 도움이 될 것이라고 확신합니다.
기본적으로 e는 방금 발생한 EVENT에 대한 정보를 포함하는 객체일 뿐입니다.'click'이면 개체에 클릭에 대한 내용이 포함되고, 'submit'이면 개체에 제출에 대한 내용이 포함되며, 일반적으로 addEventListener에 있습니다.
clickMe.addEventListener('click', e => {
console.log(e)
}
즉, 버튼을 '클릭'할 때마다 console.log에 발생한 이벤트에 대한 정보를 기록합니다. 이 경우 클릭 이벤트에 대한 정보가 인쇄됩니다.e는 x 값의 위치를 인쇄하는 것과 같은 당신만의 프로젝트에 접근하고 사용할 수 있기 때문에 매우 유용합니다.
clickMe.addEventListener('click', e => {
console.log(e.clientX)
}
그러면 해당 이벤트를 '클릭'한 위치가 인쇄됩니다.광산은 32를 반환합니다.
만약 당신이 비디오를 선호한다면, 이 https://www.youtube.com/watch?v=_BVkOvpyRI0 비디오를 보세요.
제가 학생이고 여기서 도움이 될 수 있는 기회를 찾고 있기 때문에 저에게 투표하는 것이 진정으로 도움이 될 것입니다.많이 사랑해요!
$(this).click(function(e) {
// does something
});
위의 코드와 관련하여
$(this)
변수가 되는 요소입니다.
click
수행해야 하는 이벤트입니다.
변수 원e
되며 이 는 자동으로에값유전함의 합니다.$(this)
값을 입력하고 코드에서 추가로 사용하여 작업을 수행할 수 있습니다.
언급URL : https://stackoverflow.com/questions/10323392/in-javascript-jquery-what-does-e-mean
'programing' 카테고리의 다른 글
Swift에서 파일 확장자에서 파일 이름을 분할하는 방법은 무엇입니까? (0) | 2023.08.23 |
---|---|
트리거를 저장, 변경 또는 삭제할 경우 MySql이 전체 프로그램을 중지합니다. (0) | 2023.08.23 |
Oracle: 보기에 대한 열 데이터 유형을 가져올 수 있는 방법이 있습니까? (0) | 2023.08.23 |
Ajax 응답 내부에 반환된 js 파일 실행 (0) | 2023.08.23 |
open()에서 FileNotFoundError / IOError: '[Errno 2] 해당 파일 또는 디렉터리가 없습니다.' (0) | 2023.08.23 |