我想知道是否可以在JS中执行此操作: 我想使某些文本框具有某种宽度。但我想添加控件,以便用户可以简单地改变它的宽度和位置。 我希望能够在我的学校自动化文凭印刷,并且我需要在填写表格时进行快速简单调整的工具。Javascript中的可变宽度文本框
-2
A
回答
0
查看interact.js及其示例。
记住,你可以调整本地元素<textarea>
此:
结合起来,并interact.js的拖曳功能,和你做。
这是一段代码:标有// *
的行是我添加的,否则这个示例完全来自interact.js网站。
我添加的那些行,所以如果鼠标在“缩放工具矩形”
// target elements with the "draggable" class
interact('.draggable')
.draggable({
// enable inertial throwing
inertia: true,
// keep the element within the area of it's parent
restrict: {
restriction: "parent",
endOnly: true,
elementRect: { top: 0, left: 0, bottom: 1, right: 1 }
},
// enable autoScroll
autoScroll: true,
// call this function on every dragmove event
onmove: dragMoveListener,
// call this function on every dragend event
onend: function (event) {
var textEl = event.target.querySelector('p');
textEl && (textEl.textContent =
'moved a distance of '
+ (Math.sqrt(event.dx * event.dx +
event.dy * event.dy)|0) + 'px');
}
});
function dragMoveListener (event) {
var rel_x = event.clientX - event.target.getBoundingClientRect().left; // *
var rel_y = event.clientY - event.target.getBoundingClientRect().top; // *
var w = event.target.offsetWidth; // *
var h = event.target.offsetHeight; // *
var threshold = 20; // *
if(rel_x > w - 20 && rel_y > h - 20) return; // *
var target = event.target,
// keep the dragged position in the data-x/data-y attributes
x = (parseFloat(target.getAttribute('data-x')) || 0) + event.dx,
y = (parseFloat(target.getAttribute('data-y')) || 0) + event.dy;
// translate the element
target.style.webkitTransform =
target.style.transform =
'translate(' + x + 'px, ' + y + 'px)';
// update the posiion attributes
target.setAttribute('data-x', x);
target.setAttribute('data-y', y);
}
// this is used later in the resizing and gesture demos
window.dragMoveListener = dragMoveListener;
#drag-1, #drag-2 {
width: 25%;
height: 100%;
min-height: 6.5em;
margin: 10%;
font-family: monospace;
color: black;
-webkit-transform: translate(0px, 0px);
transform: translate(0px, 0px);
}
#drag-me::before {
content: "#" attr(id);
font-weight: bold;
}
<script src="http://code.interactjs.io/v1.2.6/interact.min.js"></script>
<textarea id="drag-1" class="draggable">
<p> You can drag one element </p>
</textarea>
<textarea id="drag-2" class="draggable">
<p> with each pointer </p>
</textarea>
+0
感谢Weary Adventurer!就是这个! – Zoran
+0
@Zoran请务必填写此答案并接受它,如果它解决了您的问题。 –
相关问题
- 1. 改变文本框的高度和边框宽度JavaScript警告
- 2. 如何在jQuery对话框中显示固定宽度文本框中的可变长度文本
- 3. rails/css:可变宽度文本输入
- 4. 自动文本框宽度
- 5. Asp:文本框宽度
- 6. VisualBrush中文本框的绑定宽度
- 7. 宽度可变
- 8. AS3文本和文本框宽度
- 9. 文本框宽度与文本
- 10. 在Javascript中查找文本宽度
- 11. 在块元素中限制边框宽度为文本宽度
- 12. 移动框jquery插件可变宽度
- 13. 具有“点点”动画的居中可变宽度文本
- 14. 可变宽度div的可变宽度形式?
- 15. 使ASP文本框的宽度与按钮宽度相同
- 16. AS3最大文本框的宽度
- 17. 增加文本框内的宽度Icon.ToolbarAndroid
- 18. 使相同宽度的KendoUI文本框
- 19. 锁定文本框的宽度
- 20. 文本框的宽度jQuery手机
- 21. 文本的底部边框宽度
- 22. GWT:如何获得文本框中文本的宽度?
- 23. 如何水平居中可变宽度的较大的div,可变宽度
- 24. 如何中心对可变宽度图像多行文本
- 25. 在Emacs Lisp中包装可变宽度文本
- 26. 我想改变文本框的宽度动态按钮点击
- 27. 重新设计JQueryMobile - 改变文本框的宽度
- 28. 如何根据预先确定的文本动态调整文本框高度,但是页面宽度可变
- 29. CSS可变宽度的div
- 30. 使用可变宽度的div时的CSS文本省略号
你做了什么里面我们不要拖到元素?显示代码。 –
使用textarea,大多数浏览器允许您调整它的大小 –
我还没有显示代码。我仍然在学习JS,并且这个项目将来也是如此。我认为textarea不会这样做,因为我认为它只能被改变,并且正确。 – Zoran