2013-07-02 2 views
2

같은 이벤트에 여러 이벤트를 바인딩하는 방법은 무엇입니까? 나는 클릭하고 터치 스타트 같은 것을하기를 원한다. 그리고 나서 마우스 오버를위한 두 번째 기능이 필요합니다. 외부 기능을 대신 호출 할 수 없습니다 이유가 없다여러 이벤트를 동일한 함수에 바인딩

$(document).on('click touchstart', function(e) { 
    // this will be called on click as well as touchstart 
}); 
+0

해보십시오 jQuery's'CSTE 연구진()'. REF : http://api.jquery.com/on/ ** 참고 : 이것은 v1.7 이상에서 지원됩니다 ** – dreamweiver

+0

@dreamweiver - 표시된 코드는 이미'.on()'을 사용하고 있습니다. – nnnnnn

+0

하하하, 내 나쁜 :) 그 경우에, 저자는'.on()'의 실제 정의를 읽는데 어느 정도 시간을 할애해야했다;) – dreamweiver

답변

2

당신은 공간이 하나 .on()에서 이벤트를 결합 할 수 있습니다 : 나는 이런 종류의 설정을 사용하고자하는

function myExternalFunction (event) { 
    // do stuff 
} 

$(document).on({ 
    click: myExternalFunction, 
    mouseover: myExternalFunction 
}, '.link'); 
1

:

$(document).on({ 
     click: function (event) { 
     // I want this: click, touchstart: function (event) { 
      event.preventDefault(); 
      // do something   
     }, 
     mouseover: function (event) { 
      event.preventDefault(); 
      // do something   
     } 
    }, '.link'); 
0
the .on() documentation에 따르면

(그리고 .on() 구현 얼핏를 통해 확인) 당신이 할 수 있습니다 :

,
$(document).on({ 
    "click touchstart" : function (event) { 
     event.preventDefault(); 
     // do something   
    }, 
    mouseover: function (event) { 
     event.preventDefault(); 
     // do something   
    } 
}, '.link'); 

데모 : http://jsfiddle.net/XzkTm/

관련 문제