【问题标题】:Input text field draggable/resizable not working输入文本字段可拖动/调整大小不起作用
【发布时间】:2018-06-21 16:39:24
【问题描述】:

In this plunk 我有一个应用了 jQuery 可调整大小/可拖动的输入字段类型文本。有两个问题。首先,draggable 不起作用。其次,可调整大小仅适用于“东南”句柄,即使我指定了“全部”。 Hox 来解决这个问题?

HMTL

<input type="text" class="field" />

Javascript

$( document ).ready(function() {

  $(".field").draggable({  });

  $(".field").resizable({ 
    handles: "all"
  });

});

【问题讨论】:

标签: jquery jquery-ui


【解决方案1】:

将 Draggable 分配给文本字段并不好。浏览器期待点击事件进入光标,所以不会轻易放弃控制。

我建议如下:

$(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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    相关资源
    最近更新 更多