Javascript Jcrop未在加载的映像上初始化
我试图使用Jcrop使图像的一部分可选择,以检索特定的坐标。目前,我正在使用Ajax加载与图像相关的信息,然后在Javascript中创建图像标记并将信息输入。然后我调用一个函数,该函数应该初始化Jcrop以使图像可选择。PHP端肯定会返回正确的数据,图像是用正确的源创建的,“setImg”函数正在注册它正在被调用(弹出窗口警报) 基本上,我不完全确定我在Jcrop方面做错了什么。我已经学习了一些关于初始化它的教程,但并没有产生任何效果。图像保持默认状态 关于变量:“pID”和“cID”是由Ajax函数查找的、然后在结果中创建的“page”图像的页面ID和漫画ID Javascript:Javascript Jcrop未在加载的映像上初始化,javascript,jquery,image,jcrop,Javascript,Jquery,Image,Jcrop,我试图使用Jcrop使图像的一部分可选择,以检索特定的坐标。目前,我正在使用Ajax加载与图像相关的信息,然后在Javascript中创建图像标记并将信息输入。然后我调用一个函数,该函数应该初始化Jcrop以使图像可选择。PHP端肯定会返回正确的数据,图像是用正确的源创建的,“setImg”函数正在注册它正在被调用(弹出窗口警报) 基本上,我不完全确定我在Jcrop方面做错了什么。我已经学习了一些关于初始化它的教程,但并没有产生任何效果。图像保持默认状态 关于变量:“pID”和“cID”是由Aj
<script>
function editPage(pID, cID)
{
$.ajax({
url : "editPage.php",
type : "get",
data: ({'pageID': pID}),
async: false,
success : function(result)
{
document.getElementById("soloPage").innerHTML="";
var getImg = result[0].pageLocation;
var out = "<br><p><img name ='" + ('solopgnm' + result[0].pageNum) + "' id='solopgid' src='" + result[0].pageLocation + "' width='95%;' ></p>";
document.getElementById("soloPage").innerHTML=out;
document.getElementById("editPageTagID").innerHTML=("Currently editing: Page " + result[0].pageNum);
$("#divEditComics").hide();
$("#divEditPage").show();
setImg();
},
error: function()
{
connectionError();
}
});
}
</script>
<script>
function setImg()
{
window.alert("Function called.");
jQuery(window).load(function(){
jQuery('#solopgid').Jcrop({
onChange: showCoords,
onSelect: showCoords
});
});
}
</script>
功能编辑页(pID、cID)
{
$.ajax({
url:“editPage.php”,
键入:“获取”,
数据:({'pageID':pID}),
async:false,
成功:功能(结果)
{
document.getElementById(“soloPage”).innerHTML=“”;
var getImg=result[0]。页面位置;
var out=“
”;
document.getElementById(“soloPage”).innerHTML=out;
document.getElementById(“editPageTagID”).innerHTML=(“当前正在编辑:页面”+结果[0].pageNum);
$(“#divEditComics”).hide();
$(“#divEditPage”).show();
setImg();
},
错误:函数()
{
connectionError();
}
});
}
函数setImg()
{
window.alert(“调用函数”);
jQuery(window).load(函数(){
jQuery('#solopgid').Jcrop({
onChange:showCoords,
onSelect:showCoords
});
});
}
任何有助于正确学习方向的帮助或指点都将不胜感激(尽管我试图按照文档进行操作,但收效甚微。如果错过了一些简单的内容,请道歉)。尝试删除“jQuery(window).load”setImg函数中的(..)部分。窗口加载事件已触发,因此封装的代码不会执行
如果没有一个完整的示例,很难确切地知道您正在尝试什么,但下面是一个快速而肮脏的示例,它可能会有所帮助。基于提供的代码和一系列假设
结果=[{
页面位置:“http://deepliquid.com/Jcrop/demos/demo_files/pool.jpg",
pageNum:'2'
}];
函数editPage(){
document.getElementById(“soloPage”).innerHTML=“”;
var getImg=result[0]。页面位置;
var out=“
”;
document.getElementById(“soloPage”).innerHTML=out;
setImg();
}
函数showCoords(c){
$(“#输出”).text(c.x+”、“+c.y”);
}
函数setImg(){
//以下载重线已注释掉
//jQuery(window).load(函数(){
jQuery('#solopgid').Jcrop({
onChange:showCoords,
onSelect:showCoords
});
// });
}
单击以加载图像
很抱歉没有澄清,“editPage”是从我没有列出的div中的onclick函数调用的,以保持连贯性(基本上,您的按钮执行相同的任务)。尽管基本上镜像了您的代码,但代码似乎不想在我这边的图像“solopgid”上执行Jcrop初始化。当我单击图像时,它会变得略微透明,并让我们像正常情况一样拖动图像本身,而不是在某个区域周围拖动框的“选择”选项。您确定已正确地包括该图像吗jcrop js文件?检查开发人员控制台是否有任何错误也会有所帮助。我应该,我做了src='filepath',其中filepath是正确的目录,文件名在页面的开头。我已经仔细检查了它是否在寻找正确的目录。但是开发人员控制台说jcrop未定义。src='filepath'你是说?