2011-11-03 4 views
1

저는 기본적으로 jquery UI와 backbone.js로 작업하는 드래그 앤 드롭 UI를 가지고 있습니다. that를 통해보기에 떨어졌다Jquery UI가 droppable 인 Backbone.js 뷰 객체에 액세스하기

render: function() 
{ 
    $(this.el).html(ich.template_bucket(this.model.toJSON())); 

    $(this.el).draggable(
     { 
      helper: "clone" 
     } 
    ); 

    var that = this; 
    $(this.el).droppable(
     { 
      hoverClass: 'ui-state-hover', 
      drop: function(event, ui) 
      { 
       var from_bucket_id = ui.draggable.attr('id'); 
       var to_bucket_id = $(that.el).attr('id'); 
      } 
     } 
    ); 

    return this; 
}, 

내가 액세스 할 수 있지만 낙하 할 콜백 내부에 끌어보기의 보류를 얻을 수 있습니다 : 내보기는 같다?

또는, 드래그가 발생한 후 다른 창 (다른 백본보기)이 튀어 나오는 모달 창에서 무언가가 일어날 때 두 개의보기 (보기로 끌어서 놓기)를 업데이트하는 것이 궁극적으로 시도합니다. 이 뷰는 두 개의 뷰가있는 모델을 공유하지 않으므로 내가들을 수있는 이벤트가 있는지 확실하지 않습니다.

+0

이 정보가 도움이됩니까? http://stackoverflow.com/questions/5013848/backbone-js-given-an-element-how-do-i-get-the-view – blockhead

+0

내가 실제로하려는 것은 데이터를 기반으로보기를 업데이트하는 것입니다. 에 직접 액세스 할 수 없기 때문에 내가 말할 수있는 것에서는 바인딩 할 수있는 이벤트가 없습니다. * 관련 * 모델이 저장되면이보기가 업데이트되기를 원합니다. 실제로 dropable 콜백 함수 내부에서 뷰를 잡아내는 것이 가장 쉬운 방법이라고 생각했습니다. – zombor

답변

2

드롭 아웃 뷰에서 나는 일반적으로 드래그 한 뷰의 모델을 가져 와서 업데이트합니다. 드래그 한 뷰의 엘 돔 요소에 cid 속성을 추가하여 드롭 기능을 쉽게 사용할 수 있습니다. 내 모델은 드롭 - 인 뷰가 액세스 할 수있는 컬렉션에 저장됩니다.