javascript
  • jquery
  • 2016-08-09 4 views 0 likes 
    0

    "DELETE"를 클릭하면 deleting() 함수가 호출됩니다. 여러 번 DELETE를 클릭하더라도 어떻게 한 번만 prepend 할 수 있습니까? 나는 그것이 처음 클릭 할 때만 일어나길 원한다.jQuery 이벤트를 한 번만 만드는 방법은 무엇입니까?

    function deleting() { 
     
        $(".checking").prepend("<input type='checkbox' name='idcheckbox'>"); 
     
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
     
    <a href="javascript:deleting()">DELETE</a> 
     
    <div class="checking"></div>

    +0

    게시 한 코드가 불완전한 것으로 보입니다. '.checking' 엘리먼트는 어디에 있습니까? 어쨌든 jQuery의 [one()] (http://api.jquery.com/one/) 및/또는 [off()] (http://api.jquery.com/off/)가 도움이 될 수 있습니다. . – showdev

    +0

    ' $ {name()} – codeGeass

    +0

    가능한 경우 함수가 실행 된 후에 버튼을 비활성화 할 수 있습니다. – codehitman

    답변

    0

    당신을 위해 jQuery one을 사용할 수 있습니다 : 요소에 대한 이벤트 핸들러를 연결합니다. 핸들러는 이벤트 유형별로 요소 당 최대 한 번만 실행됩니다.

    동적으로 이벤트를 첨부하지 인라인 수

    $(function() { 
         $('a').one('click', function(e) { 
          e.preventDefault(); 
          $(".checking").prepend("<input type='checkbox' name='idcheckbox'>"); 
         }) 
        }); 
    

    을 그리고 같은 당신은 HTML 수 : 다시 jQuery를 사용하지 않으려면

    <form> 
    <a href="">DELETE</a> 
    </form> 
    
    +0

    나는 당신의 코드를 썼다. 문제는 내가 또 다른 시간을 클릭하면 체크 박스가 사라진다는 것이다. – codeGeass

    +0

    죄송합니다. "하나"의 사용법에 대한 예를 썼습니다. 이것은 한 번만 실행되므로 핸들러의 본문은 한 번만 실행됩니다. – gaetanoM

    1

    , 당신은을 만들 수 있습니다 글로벌 "플래그"변수는 다음과 같습니다.

    하지만 항상 그렇지는 않으므로 권장하지 않습니다. 세서 리 청취자.

    관련 문제