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

时间:2012-07-04 10:29:19

标签: jquery asp.net jcrop

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

屏幕截图如下:

enter image description here

2 个答案:

答案 0 :(得分:5)

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

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

elem.Jcrop({
    onSelect: storeCoords,
    boxWidth: boxWidth,
    boxHeight: boxHeight,
    aspectRatio: boxWidth / boxHeight
});

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

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

应该这样做。

答案 1 :(得分:-1)

您将寻找资源加载事件

$.load("image_id", function(){ ... });