jquery / javascript : function (e) {… e는 무엇입니까? 왜 필요한가요? 실제로 무엇을 / 달성합니까?
$('#myTable').click(function(e) {
var clicked = $(e.target);
clicked.css('background', 'red');
});
누군가 나에게 설명하고 필요한 이유와 수행하는 작업을 설명 할 수 있습니까?
사용 e
은 event
. 원하는 변수 이름을 사용할 수 있습니다.
// would work just the same
$('#myTable').click(function(anyothername) {
var clicked = $(anyothername.target);
});
jQuery의 이벤트 처리에 대한 자세한 내용을 확인할 수 있습니다 .
e
(이벤트를 발생시키는 발생)의 이점 중 하나를 사용하면 특정 요소에 대한 기본 동작의 전파를 방지 할 수 있습니다. 예를 들면 :
<a id="navLink" href="http://mysite/someOtherPage.htm">Click For Info</a>
사용자가 클릭 할 수있는 링크를 클릭합니다. 사용자가 JavaScript를 사용하지 마십시오. 한 경우 (왜? 잘 모르겠습니다) 사용자가 링크를 클릭 할 때 someOtherPage.htm으로 이동하기를 원합니다. 그러나 JavaScript가 활성화되어 있기 때문에 벗어나지 않고 모달 대화 상자를 표시합니다. 앵커 / 링크의 기본 동작을 방지하고 모달을 다음과 같이 표시하여이를 처리합니다.
$("#navLink").click(function(e) {
e.preventDefault(); //this prevents the user from navigating to the someOtherPage.htm
$("#hiddenDiv").dialog({
//options
}); //show the dialog
});
그 중에서 가장 인기있는 항목의 변수를 사용하면 다른 것들에서 선택한 요소의 기본 동작을 방지 할 수 있습니다.
도움이 되셨기를 바랍니다!
저는 이론적으로 제가 전문가가 아니라고 말하고 e 일 필요는없는 작은 (e)를 사용하여 원하는 결과를 얻었습니다.
나는 그것을 알아. 한 함수에서 다른 함수로 동일한 이벤트를 전달하는 방법입니다.
간단히 말해서. 페이지 내비게이션을 오버 적 인 스크롤 기능으로 만들고 싶었지만, 페이지를 마우스하여 탐색하고 싶었습니다. 또한 링크가 아닌 다른 클릭 이벤트에서 동일한 동적 탐색을 원했습니다. 현재 대상을 유지하고 탐색 기능을 계속 사용하려는 경우 jQuery가 $ (this)의 범위를 lol 함수의 동일한 대상으로 잃기 때문에 (e)을 설정해야합니다. 다음은 간단한 예입니다.
function navigate_to_page(e){
var target = $(e.currentTarget).attr('href'); //--This is the same as $(this) but more static to bring out of it's scope
$('html, body').animate({
'scrollTop':$(target).offset().top-0,
'scrollLeft': $(target).offset().left-$(window).width()*0.0}, 2000, 'easeOutBounce');
}
횡설수설이 당신을 혼란스럽게하지 않습니다. 단순한 페이지 스크롤 애니메이션입니다. 주의해야 할 것은 e.currentTarget 입니다. e 는 우리의 변수이고 currentTarget 은 $ (this)에 해당하는 jQuery 함께합니다 Globular $ (this) 함수입니다. 이제는 다른 기능으로 호출합니다.
$('#myNavigationDiv a').on('mouseenter', function(e){
if($(myCondition) === true){
return false;
}else{
navigate_to_page(e);
}
});
작은 (e)가 모든 것을 어떻게 연결했는지 보십니까?
이제 (e)를 (원하는대로)로 대체 할 수 있습니다. 두 함수 모두에서 e를 호출 하면 e .currentTarget과 일치하는 것이 필요한 세부 기능에이를 적용하고 코드의 거의 페이지를 표시 할 수 있습니다.
함수의 공식 매개 변수입니다. jQuery는 함수가 호출 될 때 이벤트 객체를 전달합니다. 이것은 목표를 결정하는 데 사용됩니다. 문서 에서 언급했듯이 jQuery는 브라우저 (예 : IE)가 그렇지 않은 경우에도 항상 이벤트 객체를 전달합니다.
이 경우 대상은 원래 클릭 된 요소를 알려줍니다.
'ProgramingTip' 카테고리의 다른 글
CR / LF를 CSV 파일로 인코딩 할 수 있습니까? (0) | 2020.12.12 |
---|---|
t-sql의 "tinyint"를 C #에서 정수로 어떻게 변환 할 수 있습니까? (0) | 2020.12.12 |
클래스를 위해 컴파일러가 만든 모든 멤버 함수는 무엇입니까? (0) | 2020.12.12 |
파일에 vim 설정 포함 (0) | 2020.12.12 |
jar를 로컬 저장소에 게시하는 방법은 무엇입니까? (0) | 2020.12.12 |