2011-08-29 49 views
1

我有一个modalpopupextender控件,用于在将图像保存到文件系统之前上传和裁剪图像。Jcrop的jquery委托事件(image).setOptions in a modalpopupextender

MPE首先显示一个文件上传控件,当用户上传文件时,它会显示上传图片下方的剪裁部分。它第一次工作,它显示图像和使用Jcrop javascript/jquery文件,我可以裁剪框架并保存裁剪后的图像。

初始化Jcrop的代码位于jQuery(window).load函数中。

$.Jcrop(image).setOptions({ 
     onChange: update, 
     onSelect: update, 
     aspectRatio: myRatio, 
     bgColor: 'white', 
     bgOpacity: 0.5 
    }); 

但是,当用户试图在不关闭弹出再次上传另一文件中的问题发生。它不运行jcrop的更新方法,我相信它只在第一次加载弹出窗口时运行。我需要附加一个像现场活动处理程序的东西,但我无法这样做。我试图像下面那样附加绑定事件,但它不起作用。

$.Jcrop(image).bind('setOptions', { onChange: update, 
     onSelect: update, 
     aspectRatio: forcedRatio, 
     bgColor: 'black', 
     bgOpacity: 0.6 
    }, function() { 
     alert('test'); 
    }); 

有没有人以前用类似的方式使用JCrop或任何想法如何处理?

回答

0

对于未来的访问者,我可以通过在window.focus而不是window.load中使用setOptions事件来使其工作。

jQuery(window).focus(function() { 
    $.Jcrop(image).setOptions({ ..... }); 
});