2011-11-03 2 views
1

뷰 내에서 문서에 이벤트 핸들러 (예 : mouseup)를 바인딩 할 수 있습니까?Backbone.js - 뷰 내에서 문서에 이벤트 바인딩

나는 이런 식으로 뭔가하고 싶은 :

var someView = Backbone.View.extend({ 
    el: "#someDIV", 

    initialize: function (options) { /* ... */ }, 

    events: { 
     "mousedown" : "mousedownHandler", // on #someDIV 
     "mouseup" : "mouseupHandler" // this should be on document (global mouseup) 
    }, 

    mousedownHandler: function (e) { /* ... */ }, 
    mouseupHandler: function (e) { /* ... */ } 
}); 

이 가능를, 또는 내가 초기화에 바인딩의 jQuery 이벤트를 분리하는 의지해야합니까? 또는이 작업을 수행 할 수있는 더 좋은 방법이 있다면 그렇게 할 수도 있습니다!

감사합니다.

답변

3

추가하려는 리스너가 논리적으로이보기에 속하는 경우 일반 jQuery 바인딩을 수행해야합니다.

다른 옵션은 mouseup 핸들러를 정의하고 일반 이벤트 선언과 함께 작동하는 el : 'body'라는 별도의보기를 갖는 것입니다. 하지만 귀하의 경우에는 마우스 업과 마우스 다운 핸들러를 밀접하게 관련되어 있기 때문에 동일한보기로 유지하는 것이 가장 좋습니다.

+0

camupod, 답변에 동의하는 경우 허용으로 표시하십시오. – dira