복붙노트

[JQUERY] jQuery를는 .click - 패스 파라미터를 사용자 함수

JQUERY

jQuery를는 .click - 패스 파라미터를 사용자 함수

해결법


  1. 1.철저를 들어, 내가 jQuery를 클릭 이벤트 핸들러의 버전 1.4.3에 도입 된 기능의 일부 다른 해결책을 가로 질러왔다.

    철저를 들어, 내가 jQuery를 클릭 이벤트 핸들러의 버전 1.4.3에 도입 된 기능의 일부 다른 해결책을 가로 질러왔다.

    그것은 당신이 자동으로 첫 번째 매개 변수로 jQuery를에 의해 다시 이벤트 핸들러 함수에 피드백 도착하는 경우 객체에 대한 데이터 맵을 전달할 수 있습니다. 데이터 맵은 이벤트 핸들러 함수 뒤에 첫번째 파라미터로 .click () 함수에 핸드 것이다.

    여기에 내가 무엇을 의미하는지 설명하는 몇 가지 코드는 :

    // say your selector and click handler looks something like this...
    $("some selector").click({param1: "Hello", param2: "World"}, cool_function);
    
    // in your function, just grab the event object and go crazy...
    function cool_function(event){
        alert(event.data.param1);
        alert(event.data.param2);
    }
    

    나는 그것이이 질문에 대한 게임에 늦게 알아,하지만 이전의 답변이 솔루션를 알려준, 나는 희망 그래서 누군가 언젠가는 도움이!


  2. 2.이 같은 익명 함수를 사용해야합니다 :

    이 같은 익명 함수를 사용해야합니다 :

    $('.leadtoscore').click(function() {
      add_event('shot')
    });
    

    이 같은 매개 변수를 사용하지 않고, 예에서 단지 함수 이름을 가지고있는 것처럼 당신은 그것을 호출 할 수 있습니다 :

    $('.leadtoscore').click(add_event);
    

    그러나 ADD_EVENT 방법은 그것의 매개 변수로 '샷'을 얻을 수 있지만,이 경우에 적용 아니지만, 많은 다른 사람을 위해 작동, 그래서 오히려 어떤 클릭 이벤트 객체 자체가 그것의 콜백에 전달되지 않습니다. 당신이 매개 변수를 전달해야하는 경우, 익명 함수를 사용하여 ... 나, 다른 하나의 옵션을 사용 .bind () 거기에이 같은 데이터를 전달 :

    $('.leadtoscore').bind('click', { param: 'shot' }, add_event);
    

    그리고 다음과 같이 ADD_EVENT에 액세스 :

    function add_event(event) {
      //event.data.param == "shot", use as needed
    }
    

  3. 3.당신이 길을 호출하는 경우 당신은 그것을했다 ...

    당신이 길을 호출하는 경우 당신은 그것을했다 ...

    $('.leadtoscore').click(add_event('shot'));
    

    ... 당신은) (ADD_EVENT이 같은 함수를 반환해야합니다 ...

    function add_event(param) {
        return function() {
                    // your code that does something with param
                    alert( param );
               };
    }
    

    함수 리턴과 .click의 인수로서 사용된다 ().


  4. 4.그래서 같은 CSTE 연구진 ()를 사용하여 성공을 거두었 :

    그래서 같은 CSTE 연구진 ()를 사용하여 성공을 거두었 :

    $('.leadtoscore').on('click', {event_type: 'shot'}, add_event);
    

    그런 다음 ADD_EVENT의 함수 내에서이 같은 '샷'에 액세스 할 수 있습니다 :

    event.data.event_type
    

    그들은 다음의 예를 제공하는 더 많은 정보에 대한 CSTE 연구진 () 문서를 참조하십시오 :

    function myHandler( event ) {
      alert( event.data.foo );
    }
    $( "p" ).on( "click", { foo: "bar" }, myHandler );
    

  5. 5.예, 이것은 이전 게시물입니다. 에 관계없이, 누군가는 유용하게 찾을 수 있습니다. 여기에 이벤트 핸들러에 매개 변수를 보낼 수있는 또 다른 방법입니다.

    예, 이것은 이전 게시물입니다. 에 관계없이, 누군가는 유용하게 찾을 수 있습니다. 여기에 이벤트 핸들러에 매개 변수를 보낼 수있는 또 다른 방법입니다.

    //click handler
    function add_event(event, paramA, paramB)
    {
        //do something with your parameters
        alert(paramA ? 'paramA:' + paramA : '' + paramB ? '  paramB:' + paramB : '');
    }
    
    //bind handler to click event
    $('.leadtoscore').click(add_event);
    ...
    //once you've processed some data and know your parameters, trigger a click event.
    //In this case, we will send 'myfirst' and 'mysecond' as parameters
    $('.leadtoscore').trigger('click', {'myfirst', 'mysecond'});
    
    //or use variables
    var a = 'first',
        b = 'second';
    
    $('.leadtoscore').trigger('click', {a, b});
    $('.leadtoscore').trigger('click', {a});
    

  6. 6.

          $imgReload.data('self', $self);
                $imgReload.click(function (e) {
                    var $p = $(this).data('self');
                    $p._reloadTable();
                });
    

    onclick을 요소로 설정 자바 스크립트 객체 :

     $imgReload.data('self', $self);
    

    "이"요소에서 개체를 얻을 :

     var $p = $(this).data('self');
    

  7. 7.나는 간단한 해결책을 얻을 :

    나는 간단한 해결책을 얻을 :

     <button id="btn1" onclick="sendData(20)">ClickMe</button>
    
    <script>
       var id; // global variable
       function sendData(valueId){
         id = valueId;
       }
       $("#btn1").click(function(){
            alert(id);
         });
    </script>
    

    자바 스크립트 함수 같이 sendData ()를 온 클릭 이벤트 값을 평균 내 전달되고, 변수를 초기화하고 JQuery와 이벤트 핸들러 법에 의해 받아.

    첫번째 같이 sendData (valueid)에서 호출하고 값을 초기화됩니다 이후이 가능합니다. 그런 다음 JQuery와 이벤트 GET 실행하고 그 값을 사용하는 것 후.

    이것은 똑바로 앞으로 솔루션 및 상세 솔루션의 경우 여기에 이동합니다.

  8. from https://stackoverflow.com/questions/3273350/jquerys-click-pass-parameters-to-user-function by cc-by-sa and MIT license