bind ()와 jQuery의 각 ()를 가진 이벤트 핸들러 할당의 차이점?
-
09-09-2019 - |
문제
BIND ()를 사용하여 이벤트 처리기를 할당하는 것의 차이점을 누군가에게 말할 수 있습니까?
$(function(){
$('someElement')
.bind('mouseover',function(e) {
$(this).css({
//change color
});
})
.bind('mouseout',function(e) {
$(this).css({
//return to previous state
});
})
.bind('click',function(e) {
$(this).css({
//do smth.
});
})
});
동일한 작업에 각각 ()를 사용합니다.
$('someElement').each(function(){
$(this).mouseover(function(){$(this).css({/*change color*/})
.mouseout(function(){$(this).css({/*return to previous state*/});
});
});
});
감사합니다.
해결책
당신이 준 예에서, 나는 당신이 실제로 'bind'방법과 '이벤트'방법을 사용하는 것 사이에 차이가 무엇인지 실제로 묻는 것 같습니다.
예를 들어, 다음의 차이점은 무엇입니까?
$('.some_element').bind('click',function() { /* do stuff */ });
... 이?
$('.some_element').click(function() { /* do stuff */ });
대답은 실제로 중요하지 않다는 것입니다. 선호의 문제입니다. 이벤트 방법은 구문 적으로 단순하고 타이핑이 적지 만, 내가 아는 한 실제로는 아무런 차이가 없습니다. 동일한 동작에 둘 이상의 이벤트를 첨부 해야하는 경우 속기 이벤트 바인딩을 사용할 수 있기 때문에 BIND 방법을 사용하는 것이 좋습니다. 또한 이벤트를 '해제'해야하는시기를 이해하는 것이 더 간단합니다.
여기를 봐: .Bind와 기타 이벤트의 차이
그러나 실제 질문이 묻는 바에 따르면 "각각의 '방법과'바인드 '방법의 차이점은 무엇입니까? ... 글쎄, 그것은 완전히 다른 짐승입니다.
'bind'및 'event'메소드가 많이 더 빠른 CSS 선택기 엔진 (jQuery의 경우 지글 지글 엔진을 사용합니다).
이 경우는 거의 없거나 결코 없습니다.
$('.some_element').each(function() { $(this).click(function() { /* do something */ }); });
... 이보다 낫다 :
$('.some_element').bind('click',function() { /* do stuff */ });
제휴하지 않습니다 StackOverflow