ProgramingTip

jquery / javascript : function (e) {… e는 무엇입니까?

bestdevel 2020. 12. 12. 12:12
반응형

jquery / javascript : function (e) {… e는 무엇입니까? 왜 필요한가요? 실제로 무엇을 / 달성합니까?


$('#myTable').click(function(e) {
    var clicked = $(e.target);
    clicked.css('background', 'red');
});

누군가 나에게 설명하고 필요한 이유와 수행하는 작업을 설명 할 수 있습니까?


사용 eevent. 원하는 변수 이름을 사용할 수 있습니다.

// 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)가 그렇지 않은 경우에도 항상 이벤트 객체를 전달합니다.

이 경우 대상은 원래 클릭 된 요소를 알려줍니다.

참고 URL : https://stackoverflow.com/questions/3535996/jquery-javascript-functione-what-is-e-why-is-it-needed-what-does-it-ac

반응형