복붙노트

[JQUERY] jQuery를 클릭 이벤트 클래스를 추가 한 후 작동하지

JQUERY

jQuery를 클릭 이벤트 클래스를 추가 한 후 작동하지

해결법


  1. 1.클래스가 동적으로 추가되기 때문에, 당신은 이벤트 핸들러를 등록하는 이벤트 위임을 사용합니다

    클래스가 동적으로 추가되기 때문에, 당신은 이벤트 핸들러를 등록하는 이벤트 위임을 사용합니다

    $(document).on('click', "a.tabclick", function() {
        var liId = $(this).parent("li").attr("id");
        alert(liId);        
    });
    

  2. 2.다음을 사용한다 :

    다음을 사용한다 :

    $('#gentab').on('click', 'a.tabclick', function(event) {
        event.preventDefault();
        var liId = $(this).closest("li").attr("id");
        alert(liId);  
    });
    

    이것은 #gentab 요소 내에서 어떤 앵커에 이벤트를 첨부합니다 전체 문서의 요소 트리를 확인할 필요하고 효율성을 증대의 범위를 줄일 수있다.


  3. 3..live ()는 다음 위임 요소에 사용하는 다음 구문) (CSTE 연구진은 사용할 deprecated.When입니다

    .live ()는 다음 위임 요소에 사용하는 다음 구문) (CSTE 연구진은 사용할 deprecated.When입니다

    $(document).on('click', "a.tabclick", function() {
    

    이 구문은 위임 이벤트를 작동합니다

    .의 위에()


  4. 4.@Arun P Johny는 기반으로 이것은 당신이 입력을 위해 그것을 할 방법입니다 :

    @Arun P Johny는 기반으로 이것은 당신이 입력을 위해 그것을 할 방법입니다 :

    <input type="button" class="btEdit" id="myButton1">
    

    내가 jQuery를에있어 방법이다 :

    $(document).on('click', "input.btEdit", function () {
        var id = this.id;
        console.log(id);
    });
    

    이 콘솔에 기록합니다 myButton1합니다. @Arun 말했듯이 당신이 dinamically 이벤트를 추가 할 필요가 있지만, 내 경우에는 먼저 부모를 호출 할 필요가 없습니다.

    최신 정보

    더 나은 것하지만 대답 :

    $(document).on('click', "input.btEdit", function () {
        var id = $(this).id;
        console.log(id);
    });
    

    이 jQuery의 문법이기 때문에, 모두 작동하더라도.


  5. 5.문서 준비 이벤트에는 클래스 탭 클릭으로 태그가 없습니다. 그래서 당신은 당신이 탭을 클릭 클래스를 추가하는 동적 바인딩 클릭 이벤트에 있습니다. 이 코드를하시기 바랍니다 :

    문서 준비 이벤트에는 클래스 탭 클릭으로 태그가 없습니다. 그래서 당신은 당신이 탭을 클릭 클래스를 추가하는 동적 바인딩 클릭 이벤트에 있습니다. 이 코드를하시기 바랍니다 :

    $("a.applicationdata").click(function() {
        var appid = $(this).attr("id");
    
       $('#gentab a').addClass("tabclick")
        .click(function() {
              var liId = $(this).parent("li").attr("id");
             alert(liId);        
          });
    
    
     $('#gentab a').attr('href', '#datacollector');
    
    });
    

  6. 6.여기뿐만 아니라 다른 용액 바인드 방법이다.

    여기뿐만 아니라 다른 용액 바인드 방법이다.

    $(document).bind('click', ".intro", function() {
        var liId = $(this).parent("li").attr("id");
        alert(liId);        
    });
    

    건배 :)


  7. 7.나는이 오래된 주제 알고 ...하지만 위의 아무도 나에게 도움이되지 않습니다. 그리고 많은 검색 및 모든 시도 후 ... 나는이 함께했다.

    나는이 오래된 주제 알고 ...하지만 위의 아무도 나에게 도움이되지 않습니다. 그리고 많은 검색 및 모든 시도 후 ... 나는이 함께했다.

    먼저 $ (문서) .ready 부분의 클릭 코드를 제거하고 별도의 섹션에 넣어. 다음 $에 (함수 () {...}를) 당신의 클릭 코드를 넣어; 암호.

    이 같이 :

    <script>
      $(function(){
        //your click code
        $("a.tabclick").on('click',function() {
          //do something
        });
      });
    </script>
    
  8. from https://stackoverflow.com/questions/16893043/jquery-click-event-not-working-after-adding-class by cc-by-sa and MIT license