jquery 이벤트 메커니즘

jQuery는 우수한 것이다JavaScript 프레임워크. 지난번에 내가 말했다jquery 이벤트 귀속 방법. 더 많은 것은 jQuery의 실현 방식을 설명하는 것이다. 여기서 다시 jQuery의 사건 메커니즘을 소개한다.
bind/Unbind
jquery이벤트 모델에는 두 가지 기본이벤트 바인딩 함수가,bind와unbind가 있는데 이 두 함수의 의미는 페이지 요소와 일치하는 이벤트 처리를 하는 것이다.예를 들어 우리가 JS에서 자주 사용하는 onfocus, onblur, onmouseover, onmousedown 등 이벤트는bind의 매개 변수로 전달할 수 있다.
$("#id").bind('click',function(){alert('tt!')});

그중bind의 첫 번째 매개 변수는 이벤트 형식 (on을 추가할 필요가 없음) 을 대표하고,function의 코드는 당신이 실행할 논리 코드입니다.
여러 이벤트 귀속:bind는 여러 이벤트를 귀속할 수 있습니다. 이벤트 이름 사이를 빈칸으로 구분합니다. 예를 들어:
$('a').bind('click mouseover',function(){
alert('hello');
})

최신 jquery 1.4버전에서 bind 방법을 개선했습니다. bind 방법은 클래스 JSON 대상에 여러 이벤트 처리 함수를 한 번에 연결할 수 있습니다.
$('a').bind({
click:function(){alert('a');},
mouseover:function(){alert('a again!')}
});
})

function 함수에서, 당신은 javaScript 대상을 function 방법에 전달할 수 있습니다. 이 사건의 대상은 보통 생략할 수 있습니다.
bind에는 또 하나의 매개 변수data가 있는데 이 매개 변수는 일반적인 상황에서 매우 적게 사용되며, 보통 같은 방법에서 같은 변수를 처리할 때 잘 처리된다.
var productname="Sports Shoes";
$('#Area').bind('click',function(){
alert(productname);
});
productname="necklace",
$('#Area').bind('click',function(){
alert(productname);
});

변수 productname이 다시 지정되었기 때문에 출력된 메시지는 모두 "necklace"입니다. 자바스크립트에 대한 변수 역할 영역을 찾아볼 수 없습니다. 이 문제를 해결하려면 데이터 파라미터를 사용해야 합니다.
var productname="Sports Shoes";
$('#Area').bind('click',{pn:productname},function(){
alert(event.data.pn);
});
productname="necklace",
$('#Area').bind('click',{pn:productname},function(){
alert(event.data.pn);
});

One
모든 일치하는 요소의 특정 이벤트 (예: 클릭) 에 일회용 이벤트 처리 함수를 연결합니다.이 방법은 bind 방법의 매개 변수와 마찬가지로 bind 방법과 다른 것은 일치하는 요소의 이벤트 처리를 한 번만 실행하는 것이다. 실행이 끝난 후에 다시는 실행하지 않는다. 물론 웹 요청을 다시 시작할 때 다시 실행한다.
$('a').one('click',function(){
alert('a');
})

페이지에 있는 a 요소를 누르면 메시지가 팝업됩니다. 사용자가 두 번째 요청을 하지 않으면 다시 a 요소를 누르면 메시지 대화상자가 팝업되지 않습니다.
live
이 방법은 주로 동적으로 추가된 원소를 처리할 수 있고 그 다음에 추가된 원소도 같다바인딩 이벤트.
$('a').live('click,function(){
alert('show message!');
})

그리고 내가 원소를 하나 추가하면,
$('body').appnend('<a href=#>Another Element</a>');

그러면 이 요소도 이벤트 처리 함수alert를 터치합니다.
또한 jQuery는 이러한 표준 이벤트 유형을 연결하는 간단한 방식을 제공했다. 예를 들어.클릭()은 단순화에 사용됩니다.bind(‘click’).모두blur,focus,focusin,focusout,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error 등이 있다.
 
초대장

좋은 웹페이지 즐겨찾기