我做了一个用户控件,并在 $(document).ready() 方法中放置了一些代码,但是当我放置断点时,通过 boxWidth 值并逐步执行,我可以明显看到 html 尚未加载,这就是为什么我得到未定义的值。我需要先加载 html,以便我可以获取 img 元素的宽度和高度来计算纵横比等。
屏幕截图如下:
您根本没有在任何地方声明这些变量。尝试这个:
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
});
应该这样做。
您将寻找资源加载事件
$.load("image_id", function(){ ... });