>  기사  >  웹 프론트엔드  >  JavaScript_javascript 기술에서 IE의 fireEvent 메소드에 대한 자세한 분석

JavaScript_javascript 기술에서 IE의 fireEvent 메소드에 대한 자세한 분석

WBOY
WBOY원래의
2016-05-16 17:14:011093검색

IE에서는 이름에서 알 수 있듯이 이벤트를 발생시키는 것을 의미하는 fireEvent 메소드를 제공합니다. 처음에는 onclick()을 사용하는 것과 같다고 생각했는데, 최근에 JavaScript 입문 PPT를 작성하다가 발견했습니다. JavaScript의 세부 사항은 아직 마스터하지 못한 부분이 많은 것 같습니다!

이제 자신이 작성한 요약을 바탕으로 fireEvent 메소드의 사용을 자세히 기록해 보세요. fireEvent는 IE에서 제공하는 메소드로, msdn 문서 주소: http://msdn.microsoft.com/en-us/library/ms536423(v=vs.85).aspx

onclick()
먼저 첫 번째 예제 코드를 살펴보겠습니다.


  • 나는 하나입니다;

  • 나는 2입니다;

  • 나는 3입니다;

버튼 onclick='document.getElementById("id1").onclick();'>나를 클릭하세요!

이 코드에는 onclick 이벤트를 추가하기 위한 id1의 li이 없습니다. 버튼을 클릭하면 "객체가 이 속성이나 메서드를 지원하지 않습니다."라는 오류가 보고됩니다. DOM.onclick()을 사용하려면 먼저 onclick 이벤트를 추가해야 한다는 것을 알 수 있습니다.

위 코드를 다음과 같이 수정하면:

  • 나는 하나입니다;
  • 나는 2입니다;

  • 나는 3입니다;
  • ;/ul>


    이때 버튼을 클릭하면 onclick 이벤트가 발생하지만 ul의 onclick은 발생하지 않아 DOM.onclick()에 버블링이 없음을 알 수 있습니다.

    fireEvent()

    fireEvent와 onclick()이 동일한 이벤트를 트리거하는지 살펴보겠습니다. 아래 코드를 보세요:

    • 나는 하나입니다;
    • 나는 2입니다;

    • 나는 3입니다;

    버튼 onclick='document.getElementById("id1").fireEvent("onclick")'>fireEvent !

    버튼을 클릭하면 ul의 onclick 이벤트가 트리거되어 fireEvent가 버블링을 유발함을 나타내며 onclick()과 같은 프롬프트는 없습니다. "객체는 이 속성이나 메서드를 지원하지 않습니다." id1의 이벤트가 추가되지 않으면 버블링될 수 있습니다.
    이를 보면 IE의 fireEvent 메소드가 단순한 onclick이 아닌 사용자의 마우스 클릭 동작을 시뮬레이션하는 것과 유사하다는 것을 알 수 있습니다.


    fireEvent와 onclick의 차이점 요약

    위의 예에서 알 수 있듯이 DOM fireEvent와 onclick(대표일 뿐임)은 다음과 같은 차이점이 있습니다. :
    Onclick은 실제로 onclick 이벤트를 추가하기 위해 DOM이 필요합니다. 그렇지 않으면 "객체가 이 속성이나 메서드를 지원하지 않습니다."라는 오류가 보고됩니다.
    Onclick은 IE의 버블링 프로세스를 유발하지 않지만, fireEvent는 버블링을 유발하고, fireEvent는 사용자의 실제 행동 트리거

    두 번째 기사부터는 DOM에 클릭 이벤트가 없어도 오류 보고 없이 fireEvent가 fireEvent를 수행할 수 있습니다(사용자의 실제 행동에 더 가깝습니다)

    마지막으로 테스트할 수 있습니다. 다음 코드를 사용하세요:


    • 나는 하나입니다;

    • 나는 2입니다;
    • 나는 3입니다;
    • ;/ul>


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.