问题
In this plunk I have an input field type text with jQuery resizable/draggable applied. There are two problems. First, draggable doesn't work. Second, resizable only works with a "South East" handle, even though I specified "all". Hox to fix this?
HMTL
<input type="text" class="field" />
Javascript
$( document ).ready(function() {
$(".field").draggable({ });
$(".field").resizable({
handles: "all"
});
});
回答1:
It not good to assign Draggable to a Text Field. The browser is anticipating a click event to enter the cursor, so it does not give up control easily.
I would advise the following:
$(function() {
$(".field-wrapper").draggable({
handle: ".handle"
})
.resizable({
handles: "all",
resize: function(e, ui) {
var s = ui.size;
$(".field", this).width(s.width - 40).height(s.height);
$(".handle", this).height(Math.round(s.height / 2) + 20).css("margin-top", (Math.round(s.height / 2) - 20) + "px");
}
});
});
.field-wrapper {
width: 245px;
border: 1px inset #ccc;
border-radius: 6px;
padding: 0;
}
.field-wrapper .handle {
display: inline-block;
cursor: move;
}
.field-wrapper .field {
border: 0;
padding: 0;
padding-left: .5em;
margin: -1px 0;
border-left: 1px solid #ccc;
}
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div class="field-wrapper">
<span class="handle ui-icon ui-icon-grip-dotted-vertical"></span>
<input type="text" class="field" />
</div>
来源:https://stackoverflow.com/questions/50973609/input-text-field-draggable-resizable-not-working