为什么Jcrop" onRelease"不工作?

时间:2014-01-17 10:02:19

标签: javascript jquery jcrop

基本上问题是Jcrop的onRelease对我不起作用?这是代码的一部分

$('#target').Jcrop({
  aspectRatio: 9 / 16,
  minSize: [minCropWidth, minCropHeight ],
  onChange: updatePreview,
  onSelect: updatePreview,
  onRelease: cropIt
},function(){

...

function cropIt(){
    console.log("The onRelease function");
}

因此,“updatePreview”功能就像一个魅力,但是,“cropIt”什么都不做。甚至无法获得console.log();显示。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

可能是您误解了onRelease方法的行为?

让我们看看这个简化的fiddle,并打开浏览器控制台:

图像正常加载,您可以选择要裁剪的图像部分。 你的控制台正在记录很多

[Log] The updatePreview function (show, line 43)
[Log] The updatePreview function (show, line 43, x34)
[Log] The updatePreview function (show, line 43)
[Log] The updatePreview function (show, line 43)

updatePreview次调用,因为无论何时更改选择都会调用它。

现在你停止了你的选择,可能希望触发onRelease。 但这不会发生。为什么呢?

当你放开你的选择时,

onRelease触发,因此点击你选择的图像上的任何地方都会触发它。

[Log] The onRelease function (show, line 39)

onRelease表示您取消选择,而不是停止拖动裁剪指示器。