在网页上,我想显示一个带有文本的小 div,该 div 被截断并用省略号显示,当鼠标悬停时,它应该扩大到更大的尺寸,以便所有文本都可见。然后我希望能够使用 jqueryui 拖放将文本框移动到网格上。当它被拖动和放置时,我希望它再次成为小尺寸。
我试图这样做:
鼠标悬停功能:
$(function() {
$( ".ui-widget-content" ).mouseover(function(){
$(this).css("width", "200px");
$(this).css("height", "200px");
}).mouseout(function(){
$(this).css("width", "100px");
$(this).css("height", "40px");
})
})
可拖动功能:
$(function() {
$( ".ui-widget-content" ).draggable({ snap: "td.chart:not(:first-child)", snapMode: "inner", revert: "invalid", snapTolerance: 40, stack: ".ui-widget-content",
drag: function( event, ui ) {
$(this).css("width", "100px");
$(this).css("height", "40px");
}
});
});
可丢弃功能:
$(function() {
$( "td.chart:not(:first-child)" ).droppable({
accept: ".ui-widget-content",
drop: function( event, ui ) {
$("#" + ui.draggable.attr("id") ).css("background-color","#D7F970");
}
});
});
被拖放的 div:
Lorem Ipsum我想通过上面的方法,当有人去拖动div时,首先会触发鼠标悬停,放大div,然后dragstart会缩小它,就可以了。但是,我将它放在一个表上(请参阅 droppable 函数中的选择器“td.chart:not(:first-child)”),虽然它适用于表的前三行,但 div 不再捕捉并获取落在第四排和第五排。如果我删除鼠标悬停功能,则不会出现此问题。任何人都明白这里发生了什么?