2013-05-20 3 views
1

저는 중급 JS 프로그래머로서 PHP와는 다른 세계입니다 (특히 PHP에서도 OOP 프로그래머가 아닌 경우).jquery는 맞춤 이벤트를 정의합니다.

나는 나의 프로그래밍 가능한 단순화로 jQuery를 내 자신의 이벤트를 정의에 관심이 있어요, 나는 간단한 예를 사용합니다 :

가 종종 테이블의 레코드 행이 있습니다. 사용자가 비활성 행을 만들고 싶어합니다. 시스템이 설정되면 행이 사라지고 사라집니다. 의는이 작업을 수행하는 3 가지 방법이있을 수 있습니다 가정하자 : 행이 내가 또는

  • 충돌 강조 표시
    1. 비활성 아이콘을 누르 마우스 오른쪽 버튼을 클릭하고 상황에 맞는 메뉴에서 비활성화를 선택합니다. 세 가지 작업

      $('.datarow').on('rowinactive',function(){ /* etc */ }); 
      

      어떤 위 .inactive$('#row12345')을 설정합니다, 이벤트 핸들러는 거기에서 그것을 걸릴 것 : 내가하고 싶은 것을

    는 같은입니다. 당신이 국가와 관련된 행동 (들)을 다소 분리 시키면 나는 그것을 봅니다.

    이 간단한 시작하기를 바랍니다. 누구든지이 예제 코드를 제공 할 수 있습니까?

  • 답변

    1
    $(function(){ 
        $("input").on('customEvent',function(){ //define a custom event listener 
         $("p").text("hello"); 
        }); 
        $("input").trigger('customEvent'); //call the event listener attached to obj. with name 'customEvent' 
    }); 
    

    here으로 재생할 수있는 예를 만들었습니다. 특정 아이디어에 의해 수집 된 여러 객체에 맞춤 이벤트를 적용하기 위해이 아이디어를 사용할 수 있습니다. $(...). 각 개체는 사용자와 다른 상호 작용을 할 수 있습니다로 마크 업없이 inactive 등 ...

    +0

    왜 downvote? – HennyH

    1

    때 다른이 조금있는 동안 그런 다음, 당신이 clickcustomEvent를 실행할 수있는 입력을 위해, 즉 액션 appropriatley를 호출 할 수 있습니다 도울 수 없으므로 가상의 "비활성화"아이콘 만 사용하여 예제를 만들 것입니다.

    $('.inactive-icon').on('click',function(){ 
        var $row = $(this).closest('.datarow'); 
        $row.fadeOut(500,function(){ 
         $row.trigger('inactive'); // ---> it's that simple! 
        }); 
    }); 
    
    $('.datarow').on('inactive',function(){ /* etc */ }); 
    
    5

    원하는 모든 이벤트를 정의 할 수 있지만 그와 같은 이벤트는 어쨌든 트리거되어야합니다.

    $('.datarow').on('rowinactive',function(e, elem){ 
        alert(elem.id + ' is inactive'); 
    }); 
    
    $('table tr').on('click', function() { 
        $(this).highlight(); 
        $('.datarow').trigger('rowinactive', this); // passes the element 
    }); 
    

    트리거 된 함수에 매개 변수를 전달할 수도 있습니다.

    FIDDLE

    0

    확인이 Fiddle.

    $("tr").bind("fadeOut", function(){ /* code */ }); 
    $("tr").trigger("fadeOut"); 
    
    관련 문제