2011-08-04 28 views
2

我是jQuery的新手。但我想在我的項目中使用拖放功能。當我拖動我的項目時,我想調用一個函數,但不取消拖動。我想在運行該功能後仍然保持該項目。JQuery在拖動項目時調用函數

下面是部分代碼:

$(settings.columns).sortable({ 
     items: $sortableItems, 
     connectWith: $(settings.columns), 
     handle: settings.handleSelector, 
     placeholder: 'widget-placeholder', 
     forcePlaceholderSize: true, 
     revert: 300, 
     delay: 100, 
     opacity: 0.8, 
     containment: 'document', 
     ghosting: true, 
     start: function (e,ui) { 

      $(ui.helper).addClass('dragging'); 
    **// here is the place I would like to call a function.** 
      **//example gotoPage(2);** 

     }, 
     stop: function (e,ui) { 
      $(ui.item).css({width:''}).removeClass('dragging'); 
      $(settings.columns).sortable('enable'); 
      /* Save prefs to cookie: */ 
      iNettuts.savePreferences(); 



     } 
    }); 

當我把調用代碼在start()它運行的功能,但取消了拖爲好。基本上,我想保留該項目並運行該功能。我希望我已經說得很清楚。如果不是,請問。

回答

-1

也許調用一個函數會導致您失去對被拖動元素的焦點。

+0

這就是發生了什麼。我如何克服這個問題?我希望能夠拖動相同的物品。基本上我試圖做的是ipad或iphone風格的拖放。當您在屏幕上組織應用程序時,您可以在頁面上拖放它們。所以我可以在拖動項目時調用函數gotoNextPage(),我可以將它放在那裏。我希望我們能找到答案。謝謝。 – akd

+1

答案在哪裏? –

0

儘管我從來沒有嘗試過以下方法,但我會嘗試採取一些不同的方法。

爲什麼不把函數寫入點擊?

$(settings.columns).click(function(e,ui){ 
    //whatever you want to do 
}); 

我不明白爲什麼當你點擊拖動一個項目,這將不盡快與工作,應觸發此事件。

+0

是的,你是對的。但事情是當事件被觸發時,我失去了對該項目的關注。在事件觸發後,我需要保持這個項目。 – akd