Input text field draggable/resizable not working

ぐ巨炮叔叔 提交于 2020-12-15 05:30:45

问题


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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!