当我检查页面上的元素时,我发现它的宽度 83.2像素。
我使用jQuery UI使其“可拖动”:
$el.draggable({
start: function (event, ui) {
//$(ui.helper).css('margin', 0); //prevent jumping
console.log('width:', $(ui.helper).css('width'));
//console.log('width:', $(ui.helper).width());
//console.log('width:', $(event.target).css('width'));
}
});
拖动元素后输出到控制台的是width: 83px
。
这导致稍后元素文本中的换行符。
jQuery UI是否围绕宽度和高度? 如何获得更准确的值?
答案 0 :(得分:3)
我在这个问题中找到了答案: https://stackoverflow.com/a/16072668/426266
jQueryUI似乎在拖动元素时将元素的宽度设置为整数值。 此外,$(element).width()将始终返回舍入的整数值。
我解决了这个问题:
$el.draggable({
start: function (event, ui) {
var width = event.target.getBoundingClientRect().width;
$(ui.helper).css({
'width': Math.ceil(width)
});
}
});
现在,当元素被拖动时,不再有换行符。