2009-05-23 44 views
1

我已經成功地能夠使用該位的jQuery使元素(如div的,小組的,等等)拖動:JQuery拖放停止在某些對象上工作?

<script type="text/javascript"> 
     $(function() { 
      $(".drag").draggable({ revert: true }); 
     }); 
</script> 

本作的Page_Load完成之前在頁面上已經存在的任何工作正常在任何回發之前。我有一系列按鈕(帶有一類'.catbuttons'),點擊後會調用我的數據庫並檢索一些圖片url。一旦我檢索到這組url,我就會執行一個for/next循環,並創建一大堆圖像對象並將其放置到面板中。每個圖像都有'.drag'的cssclass,以使它可以與上面的JQuery一起使用。

問題是,他們不再拖動!我已經閱讀了另一篇關於在回發(甚至是部分回發?)之後需要重新綁定javascript的文章的帖子,這將允許全新的控件將上面的jquery代碼附加到它們,從而使它們可拖動。經過一番搜索谷歌,我遇到了這一點,並測試了它:

<script type="text/javascript"> 
     $(".catbuttons").live("click", function(){ 
      $(".drag").draggable({ revert: true }); 
     }); 
</script> 

我想在我的aspx頁面與原劇本的標題部分離開這一點,並且也具有這種這裏所有的本身。沒有骰子。

想法?

回答

0

上述函數實際上期望從用戶點擊一次,再次調用draggable。相反,您需要在回發後執行此操作。 這裏的規則應該是,在頁面上放置圖像之後,註冊具有可拖動功能的所有圖像。

編輯: 在你的情況下點擊按鈕即可觸發獲取圖像的功能。這些圖像應放置在頁面上,然後才能使其可拖動。您可以在創建的對象中添加可拖動對象,並在運行時將「.drag」cssclass應用於這些對象/圖像的語句之後立即註冊。

+0

該按鈕的實際點擊功能是在運行期間生成圖像 - 是否有另一個我應該有的地方?直到我點擊一個按鈕之前,沒有任何圖像存在,我在運行時將「.drag」cssclass應用於創建的對象。我是否以這種錯誤的方式去做? – 2009-05-23 17:00:00