假设我的<img>
标记的data-width
和data-height
属性设置为0。
如何获取img的宽度和高度,然后将其传递给我的自定义属性?
有人可以帮我解决这个问题。我一直在挖掘这么久。
这是我的代码不起作用:
$(".draggable").draggable({
helper: "clone",
cursor: 'move'
});
$("#dropzone").droppable({
drop: function (event, ui) {
var canvas = $(this);
if (!ui.draggable.hasClass('object')) {
var canvasElement = ui.helper.clone();
canvasElement.addClass('object');
canvas.find("div").removeClass('activeElement');
canvasElement.addClass('activeElement');
canvasElement.removeClass('draggable ui-draggable ui-draggable-handle ui-draggable-dragging');
var mywidth = canvasElement.find("img").width();
canvasElement.find("img").data("width",mywidth);
canvas.append(canvasElement);
canvasElement.css({
left: (ui.position.left),
top: (ui.position.top),
position: 'absolute',
zIndex: 2
});
canvasElement.draggable({
cursor: 'move',
containment: '#dropzone'
});
答案 0 :(得分:0)
不确定您获得或设置.data()
有哪些问题?您应该能够使用width
或height
img
,.attr()
获取DOM
,.naturalWidth
.naturalHeight
元素,然后使用从.data()
attr()
var img = $("img");
var [width, height] = [img.attr("width"), img.attr("height")];
img.data({width:width, height:height});
答案 1 :(得分:0)
我解决了。它只是我的代码的位置。在获得宽度和高度之前,我首先追加元素。