문제

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 */ });
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top