>  기사  >  웹 프론트엔드  >  js에서 클릭 이벤트를 동적으로 추가할 때 발생하는 일반적인 오류에 대한 자세한 설명

js에서 클릭 이벤트를 동적으로 추가할 때 발생하는 일반적인 오류에 대한 자세한 설명

一个新手
一个新手원래의
2017-09-20 09:25:522336검색

프런트엔드에서는 클릭 이벤트를 추가해야 하는 경우가 많습니다. 특히 동적 요소에 클릭 이벤트를 추가합니다. 추가한 후 응답이 없는 경우가 많습니다.
가능한 이유:

  1. 클릭 이벤트 이름이 잘못 작성되었습니다.
    이 하위 수준 실수는 js 코드에 추가된 이벤트가 실제로 추가되지 않는 경우가 많습니다. 둘의 이름이 다르거나 선택자에 문제가 있어 요소가 선택되지 않습니다.
    이 문제의 경우 디버깅 창에서 요소를 선택하고 청취 이벤트가 추가되었는지 확인할 수 있습니다.
    그림과 같이:
    js에서 클릭 이벤트를 동적으로 추가할 때 발생하는 일반적인 오류에 대한 자세한 설명
    추가되지 않은 경우 클릭 이벤트가 추가되었습니다. 그런 다음 변수 이름과 선택기를 확인하십시오.


  2. 디버깅에서 click 이벤트가 명확하게 추가되었으나 응답이 없습니다.
    오늘 이 문제가 발생했습니다. 이 문제에는 두 가지 가능성이 있습니다.

    ① 반대 기능을 가지고 이벤트 버블링도 수행하는 이벤트가 또 있습니다. 응답이 전혀 없으며 실제로 이벤트가 실행됩니다. 중단점은 중단점에 입력될 수도 있습니다. 그래서 문제를 해결하는 방법은 두 가지가 있습니다

하나는 false를 직접 반환하여 이벤트가 버블링되는 것을 방지하고 동작도 방지하는 것입니다코드는 다음과 같습니다

$("selector").on('click',function(){
            return false;
        });

두 번째는 event.stopPropagation을 사용하여 이벤트 버블링을 방지해도 동작 버블링은 방지할 수 없습니다 코드는 다음과 같습니다

$("selector").on('click',function(){
             event.stopPropagation();
        });

② 레이아웃 문제를 위해 클릭 이벤트를 추가했습니다. 하지만 이 요소는 클릭되지 않았으므로 시간이 트리거되지 않았습니다. 가능한 이유는 이 요소를 배치한 후 z-index 속성이 음수 값으로 설정되어 이 요소가 클릭되지 않기 때문입니다. 이 속성을 변경하면 완료됩니다

위 내용은 js에서 클릭 이벤트를 동적으로 추가할 때 발생하는 일반적인 오류에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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