jcrop_api 未定义?

     2023-02-25     224

关键词:

【中文标题】jcrop_api 未定义?【英文标题】:jcrop_api is undefined? 【发布时间】:2012-12-13 17:25:18 【问题描述】:

在 Javascript 中将 Jcrop 添加到函数时,jcrop_api 变量变为未定义。当我使用 $(document).ready(function() ... ); 在窗口加载时创建 Jcrop 时,插件正在工作(包括 api) 问题是我希望用户能够保持纵横比,或者不仅仅是通过选中或取消选中复选框。所以我有以下内容:

$(document).ready(function() 
    $('#aspectratio').click(function() 
        alert(jcrop_api);
        if (!$(this).is(':checked')) 
            jcrop_api.setOptions(
                aspectRatio: 0
            );
         else 
            jcrop_api.setOptions(
                aspectRatio: 31 / 12
            );
        
    );


function stopUpload(success, newfile) 
    $('#target').attr('src', newfile);
    $('#preview').attr('src', newfile);
    $('#myfile').val('');
    $('#options').css('display', 'block');
    $('#target').Jcrop(
        onChange: updatePreview,
        onSelect: updatePreview,
        aspectRatio: 31 / 12
    , function() 
        // Use the API to get the real image size
        var bounds = this.getBounds();
        boundx = bounds[0];
        boundy = bounds[1];
        // Store the API in the jcrop_api variable
        var jcrop_api = this;
    );

我见过其他答案,例如以下列方式调用 Jcrop:

$.Jcrop($('#cropbox_full'));

出于某种原因,在执行此操作时,jcrop 框根本不会出现。很奇怪。所以基本上,我的问题是,我做错了什么,我该如何解决这个问题(以类似于上面的方式),以便我可以通过单击复选框来更改 aspectRatio?

【问题讨论】:

【参考方案1】:

好的,很简单...变量 (jcrop_api) 只是在函数中设置,因此无法从函数外部访问。我通过将其设置为全局变量来解决此问题。我不知道这是否是不好的做法,但如果有人有更好的解决方案,我很乐意听到。

【讨论】:

我正在使用 $('#cropbox').Jcrop();在函数内部,但我收到错误消息“未捕获的类型错误:对象 [对象对象] 没有方法 'Jcrop'”,那么如何将其设置为全局变量,以便在函数内部可以访问 Jcrop 函数? @lemarc 问题可能是 jQuery 冲突,也可能是您调用 javascript 文件的顺序。确保在调用 jCrop 之前调用 jQuery。 发生在我身上并且您的解决方案有效。我假设是因为它是在匿名函数中设置的。【参考方案2】:

jcrop_api需要先定义,这里总结一下如何定义jcrop_api变量

var jcrop_api;
var cWidth = 100;
var cHeight = 100;

jQuery(function($)

  // initialize jcrop
  jcrop_api = $.Jcrop('#target');

  // set the selection area
  jcrop_api.animateTo([0,0,cWidth,cHeight]);

);

在正文部分图片标签

<img src="demo_files/sago.jpg" id="target"  />

【讨论】:

“注意:未定义的变量”、“注意:未定义的索引”、“警告:未定义的数组键”和“注意:未定义的偏移量”使用 PHP

】“注意:未定义的变量”、“注意:未定义的索引”、“警告:未定义的数组键”和“注意:未定义的偏移量”使用PHP【英文标题】:"Notice:Undefinedvariable","Notice:Undefinedindex","Warning:Undefinedarraykey",and"No... 查看详情

“注意:未定义的变量”、“注意:未定义的索引”、“警告:未定义的数组键”和“注意:未定义的偏移量”使用 PHP

】“注意:未定义的变量”、“注意:未定义的索引”、“警告:未定义的数组键”和“注意:未定义的偏移量”使用PHP【英文标题】:"Notice:Undefinedvariable","Notice:Undefinedindex","Warning:Undefinedarraykey",and"No... 查看详情

“注意:未定义的变量”、“注意:未定义的索引”、“警告:未定义的数组键”和“注意:未定义的偏移量”使用 PHP

】“注意:未定义的变量”、“注意:未定义的索引”、“警告:未定义的数组键”和“注意:未定义的偏移量”使用PHP【英文标题】:"Notice:Undefinedvariable","Notice:Undefinedindex","Warning:Undefinedarraykey",and"No... 查看详情

js中$未定义或者“xxx”未定义

js中出现$未定义或者“xxx”未定义错误原因:js传值时用的是el表达式,如果不加单引号就会出错,正确写法如下: 查看详情

变量 === 未定义与 typeof 变量 === “未定义”

】变量===未定义与typeof变量===“未定义”【英文标题】:variable===undefinedvs.typeofvariable==="undefined"【发布时间】:2011-06-1104:03:03【问题描述】:jQueryCoreStyleGuidelines提出了两种不同的方法来检查变量是否已定义。全局变量:t... 查看详情

为啥未定义 == 未定义但 NaN != NaN? [复制]

】为啥未定义==未定义但NaN!=NaN?[复制]【英文标题】:Whyisundefined==undefinedbutNaN!=NaN?[duplicate]为什么未定义==未定义但NaN!=NaN?[复制]【发布时间】:2011-11-0222:31:40【问题描述】:我想知道为什么undefined==undefined而NaN!=NaN。【问题... 查看详情

“注意:未定义的变量”、“注意:未定义的索引”和“注意:未定义的偏移量”使用 PHP

】“注意:未定义的变量”、“注意:未定义的索引”和“注意:未定义的偏移量”使用PHP【英文标题】:"Notice:Undefinedvariable","Notice:Undefinedindex",and"Notice:Undefinedoffset"usingPHP【发布时间】:2022-01-1101:40:23【... 查看详情

“注意:未定义的变量”、“注意:未定义的索引”和“注意:未定义的偏移量”使用 PHP

】“注意:未定义的变量”、“注意:未定义的索引”和“注意:未定义的偏移量”使用PHP【英文标题】:"Notice:Undefinedvariable","Notice:Undefinedindex",and"Notice:Undefinedoffset"usingPHP【发布时间】:2017-08-2717:03:14【... 查看详情

“注意:未定义的变量”、“注意:未定义的索引”和“注意:未定义的偏移量”使用 PHP

】“注意:未定义的变量”、“注意:未定义的索引”和“注意:未定义的偏移量”使用PHP【英文标题】:"Notice:Undefinedvariable","Notice:Undefinedindex",and"Notice:Undefinedoffset"usingPHP【发布时间】:2022-01-0101:15:23【... 查看详情

“注意:未定义的变量”、“注意:未定义的索引”和“注意:未定义的偏移量”使用 PHP

】“注意:未定义的变量”、“注意:未定义的索引”和“注意:未定义的偏移量”使用PHP【英文标题】:"Notice:Undefinedvariable","Notice:Undefinedindex",and"Notice:Undefinedoffset"usingPHP【发布时间】:2016-02-0401:09:04【... 查看详情

“注意:未定义的变量”、“注意:未定义的索引”和“注意:未定义的偏移量”使用 PHP

】“注意:未定义的变量”、“注意:未定义的索引”和“注意:未定义的偏移量”使用PHP【英文标题】:"Notice:Undefinedvariable","Notice:Undefinedindex",and"Notice:Undefinedoffset"usingPHP【发布时间】:2017-09-2803:37:12【... 查看详情

“注意:未定义的变量”、“注意:未定义的索引”和“注意:未定义的偏移量”使用 PHP

】“注意:未定义的变量”、“注意:未定义的索引”和“注意:未定义的偏移量”使用PHP【英文标题】:"Notice:Undefinedvariable","Notice:Undefinedindex",and"Notice:Undefinedoffset"usingPHP【发布时间】:2015-12-0821:39:03【... 查看详情

未捕获的 ReferenceError:未定义 ytcfg(也未定义 __ytRIL)

】未捕获的ReferenceError:未定义ytcfg(也未定义__ytRIL)【英文标题】:UncaughtReferenceError:ytcfgisnotdefined(also__ytRILisnotdefined)【发布时间】:2017-03-3001:34:08【问题描述】:几个月来我一直在使用YouTubeIFramePlayerAPI没有问题,最近在播放... 查看详情

未捕获的 ReferenceError:未定义 showCategory

】未捕获的ReferenceError:未定义showCategory【英文标题】:UncaughtReferenceError:showCategoryisnotdefined【发布时间】:2014-12-3001:33:42【问题描述】:我定义了一个名为showCategory的函数。但是,由于某种原因,我的调试器告诉我显示类别未... 查看详情

自定义模块:未捕获类型错误:未定义不是函数

】自定义模块:未捕获类型错误:未定义不是函数【英文标题】:Custommodule:UncaughtTypeError:undefinedisnotafunction【发布时间】:2015-02-2503:25:33【问题描述】:我正在尝试编写自己的Drupal模块,并且我想要包含Javascript。我尝试包含一... 查看详情

子 JSON 对象未定义时未定义

】子JSON对象未定义时未定义【英文标题】:ChildJSONobjectundefinedwhenitsnot【发布时间】:2012-03-1603:56:19【问题描述】:我在页面源中有一个JSON对象数组,除了子对象(类别)之外,它们都可以工作。这是cshtml中的代码:<scripttype=... 查看详情

未定义变量: data , $data 未定义。拉拉维尔 8

】未定义变量:data,$data未定义。拉拉维尔8【英文标题】:Undefinedvariable:data,$dataisundefined.Laravel8【发布时间】:2021-12-3018:20:56【问题描述】:我收到一个错误,说未定义的变量数据指的是我的刀片中的foreach所以我的错误是:未... 查看详情

JWT-解码需要未定义,jwt解码未定义

】JWT-解码需要未定义,jwt解码未定义【英文标题】:JWT-Decoderequirenotdefined,jwtdecodenotdefined【发布时间】:2019-08-0110:16:50【问题描述】:我在使用JWT解码时遇到问题,似乎无法完成这项工作vartoken=\'eyJ0eXAiO...///jwttoken\';vardecoded=jwtDec... 查看详情