2010-10-14 61 views
3

我正在使用Jcrop,我不想根據用戶輸入動態改變選擇的長寬比,所以我想要走的路是使用Jcrop api。試圖使用Jcrop api

的事情是,如果我使用它作爲一個jQuery函數它工作正常:

$('#cropbox_full').Jcrop({ 
    onChange: update_full_dimensions, 
    onSelect: update_full_dimensions 
}); 

但是,如果我用它打電話Jcrop運作我的形象不再顯示:

var api = $.Jcrop('#cropbox_full', options); 

是它一個Jcrop錯誤?

BTW我使用鉻和jQuery 1.4.2

回答

2

似乎有一些bug,同時使用鉻因爲Firefox的這個作品:

$.Jcrop($('#cropbox_full'),options); 

jCrop已經設置好的後,它可以被訪問像這樣和選項可以重置,這與鉻合作:

$('#cropbox_full').Jcrop(options); 
var jcrop = $('#cropbox_full').data('Jcrop'); 
jcrop.setOptions(newOptions); 
1

如果你直接使用$.Jcrop(),它期待一個jQuery對象或元素。

的利用方法是這樣的:

$.Jcrop($('#cropbox_full'),options); 
+0

似乎是瀏覽器的錯誤,根據你可以做documentatio:$ .Jcrop( '#cropbox_full',選項);如果我沒有記錯的話,它可以和Firefox一起工作。 – Macario 2010-10-14 17:03:22

1

我有一個類似的親今天有瑕疵。我在

$(window).load(function() { ... }); 

,而不是

$(document).ready(function() { ... }); 

這是jQuery中常見的做法解決它通過初始化Jcrop API。

2

這可能是JCrop中的一個錯誤,但您可以使用適用於Google Chrome,FF,IE和Safari的方式編寫代碼。要做到這一點,而不是:

 $.Jcrop($('#cropbox_full'),options); 

使用這樣的事情:

 $(document).ready(function() { 
      $('#cropbox_full').Jcrop({ 
       onSelect: storeCoords, 
       setSelect: [0, 0, 114, 137], 
       aspectRatio: 114/137, 
       minSize: [114, 137] 
      }); 
     });