2013-11-09 78 views
0

偏移值定義,但控制檯告訴我這是沒有定義:UI不與拖動

ui is not defined 

在我的HTML的jQuery腳本包括:

<script language="javascript" type="text/javascript" 
     src="/templates/protostar/js/jquery.min.js"></script> 
<script language="javascript" type="text/javascript" 
     src="/templates/protostar/js/jquery-ui.min.js"></script> 
<script language="javascript" type="text/javascript" 
     src="/templates/protostar/js/jclip.js"></script> 
<script language="javascript" type="text/javascript" 
     src="/templates/protostar/js/cp.js"></script> 

我不明白.. 。這是我的jQuery代碼:

<script type="text/javascript" language="javascript"> 
(function ($) { 
    $(document).ready 
    (
     function() { 
      $('.mapban').parent().jclip(0, 0, 1060, 750); 

      $('#mapplane').draggable({ containment: $('#containermy'), 
      scroll: false, 
      drag: function() { 
      console.log(ui.offset); 
      }, 


      }); 

}) 
</script> 

回答

4

在你拖動處理程序方法,您使用的是被稱爲ui變量,但不脫在功能範圍內的任何地方都是錯誤的原因。

drag event處理程序收到2個參數,第一個是事件,第二個是ui對象,它包含一些特定於小部件事件的數據,您需要增強事件處理程序方法簽名以接受下面給出的那些參數。

jQuery(function ($) { 
    $('.mapban').parent().jclip(0, 0, 1060, 750); 
    $('#mapplane').draggable({ 
     containment: $('#containermy'), 
     scroll: false, 
     drag: function (event, ui) { //here ui is the second parameter 
      console.log(ui.offset); 
     } 
    }); 
}) 
1

你忘了添加參數drag: function (event, ui) {

event-drag

(function ($) { 
    $(document).ready(function() { 
     $('.mapban').parent().jclip(0, 0, 1060, 750); 
     $('#mapplane').draggable({ 
      containment: $('#containermy'), 
      scroll: false, 
      drag: function (event, ui) { 
       console.log(ui.offset); 
      }, 
     }); 
    }); 
});