$(document).ready()似乎无法正常使用用户控件

Lee*_*Lee 0 asp.net jquery jcrop

我已经创建了一个用户控件,并在$(document).ready()方法中放置了一些代码,但是当我放置断点时,通过boxWidth值,并逐步执行,我可以看到html尚未加载,这就是为什么我得到未定义的值.我需要首先加载html,这样我才能获得img元素的宽度和高度来计算方面的比例等.

屏幕截图如下:

在此输入图像描述

Esa*_*ija 5

你根本没有在任何地方声明这些变量.试试这个:

var elem = $("#Body_Body_ucImageUploadAndCrop_CropImage"),
    boxWidth = elem.width(),
    boxHeight = elem.height();

elem.Jcrop({
    onSelect: storeCoords,
    boxWidth: boxWidth,
    boxHeight: boxHeight,
    aspectRatio: boxWidth / boxHeight
});
Run Code Online (Sandbox Code Playgroud)

既然您的代码没有运行错误,您可能只想在加载后访问该图像:

$(window).on( "load", function() {
    //Code to run after window has loaded
});
Run Code Online (Sandbox Code Playgroud)

应该这样做.