Javascript Jcrop未在加载的映像上初始化

Javascript Jcrop未在加载的映像上初始化,javascript,jquery,image,jcrop,Javascript,Jquery,Image,Jcrop,我试图使用Jcrop使图像的一部分可选择,以检索特定的坐标。目前,我正在使用Ajax加载与图像相关的信息,然后在Javascript中创建图像标记并将信息输入。然后我调用一个函数,该函数应该初始化Jcrop以使图像可选择。PHP端肯定会返回正确的数据,图像是用正确的源创建的,“setImg”函数正在注册它正在被调用(弹出窗口警报) 基本上,我不完全确定我在Jcrop方面做错了什么。我已经学习了一些关于初始化它的教程,但并没有产生任何效果。图像保持默认状态 关于变量:“pID”和“cID”是由Aj

我试图使用Jcrop使图像的一部分可选择,以检索特定的坐标。目前,我正在使用Ajax加载与图像相关的信息,然后在Javascript中创建图像标记并将信息输入。然后我调用一个函数,该函数应该初始化Jcrop以使图像可选择。PHP端肯定会返回正确的数据,图像是用正确的源创建的,“setImg”函数正在注册它正在被调用(弹出窗口警报)

基本上,我不完全确定我在Jcrop方面做错了什么。我已经学习了一些关于初始化它的教程,但并没有产生任何效果。图像保持默认状态

关于变量:“pID”和“cID”是由Ajax函数查找的、然后在结果中创建的“page”图像的页面ID和漫画ID

Javascript:

<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'你是说?