JCrop 与下载的动态图像集成

Posted

技术标签:

【中文标题】JCrop 与下载的动态图像集成【英文标题】:JCrop integration with dynamic image dowloaded 【发布时间】:2013-05-31 11:29:43 【问题描述】:

我正在尝试将 JCrop 集成到引导模式中。尽管有这些细节,但问题似乎在于图像正在“动态”下载。我的意思是:

1) 表单通过AJAX提交:

$('#postFileForm').ajaxForm( success: afterPost );

2) 'afterPost' 函数被正确调用。此函数将服务器返回的文本作为参数:

function afterPost(responseText, statusText, xhr, $form) 
    $(".downloadedContent").html(responseText);
    $("#cropbox").Jcrop();
    ...

3) 这个文本是从服务器返回的:

<img src='xxx' alt='yyy' id='cropbox' /> 

我假设,当我通过 html jQuery 方法插入图像时,图像被添加到 DOM 并且我可以使用它。如果我在插入图片之后使用 Chrome 进行调试,则可以通过 jQuery 正常检索:

$("#cropbox").attr('src') //returns the source, f.e

但是裁剪不起作用。似乎发生了一些事情,因为它的样式属性就像:

style='display:none; visibility:hidden; width:...'

我认为它可能与 css 相关(根据我将它与 Bootstrap 一起使用的事实),但如果我删除动态下载图像的部分,我只是把它放在他的位置,一切正常。

任何帮助将不胜感激!谢谢!

【问题讨论】:

jcrop 初始化函数没有得到#cropbox。如果我没记错你的#cropbox 在 responseText 变量中吗? 你能显示插入图像并应用jcrop的代码吗?我没有发现默认的 twitter 引导模式和 jcrop 有任何问题,请参阅:bootply.com/62770 对不起坎达尔普,你是对的。我忘记在返回的文本中添加正确的 id。巴斯,如果我用硬编码图像替换动态“responseText”,我就能看到 jCrop 插件正常工作。 【参考方案1】:

请原谅我。

我想向你们所有人道歉,因为你们浪费了你们的时间 :)。 JCrop 将他的控件与 jQuery 选择器返回的第一个可用元素绑定。

在这种情况下发生了什么,我在两个地方有相同的课程,而我没有将它指向选择器。

$(".downloadedContent").html(responseText) 必须类似于 $("#someDiv .downloadedContent)。

JCrop 附加到一个隐藏的 div,这就是全部。

感谢您的帮助。

【讨论】:

以上是关于JCrop 与下载的动态图像集成的主要内容,如果未能解决你的问题,请参考以下文章

使用 JCrop 将图像裁剪到画布中

JCrop 得到裁剪的宽度和高度

可变产品的 WooCommerce 动态缩略图图像

Jcrop 图像在预览中无法正确显示

Jcrop处理多张图片时,尺寸不正确

jcrop css 更新 vline 和 hline