为了账号安全,请及时绑定邮箱和手机立即绑定

如何从HTML输入实时更新Javascript变量?

如何从HTML输入实时更新Javascript变量?

心有法竹 2021-04-09 14:15:07
我正在编写一个程序,可以使用fabric.js实时修改矩形(取决于用户键盘输入的内容)。我做这件事的时间很糟。我正在尝试获取输入id=width和输入id=height,以便能够编辑rect.width,并且rect.height和PREFERABLY可以在执行此操作时更改矩形的形状。我在下面包含了我的代码,document.getElementById('height').value;因为所有这些尝试都是绝对无用的,所以我删除了所有尝试 ,当我包含它们时,它破坏了整个脚本(我认为这对于jsfiddle来说不是很有用)。我想我有点头疼。任何帮助将非常感激。https://jsfiddle.net/x7kmw6h8/4/的HTML<body>  <input id="width" type="number" value="100"> <br>  <input id="height" type="number" value="100"> <br></body><canvas id="canvas" width="800" height="800"></canvas>Java脚本     var canvas = new fabric.Canvas('canvas');     var grid = 20; for (var i = 0; i < (800 / grid); i++) {         canvas.add(new fabric.Line([ i * grid, 0, i * grid, 800],             {strokeDashArray: [3, 17], strokeWidth : 3, stroke: 'black', selectable: false }));         canvas.add(new fabric.Line([ 0, i * grid, 800, i * grid],             {strokeDashArray: [3, 17], strokeWidth :3, stroke: 'black', selectable: false }))    } var rect = new fabric.Rect({            top : 50,            left : 50,            width : 100,            height : 100,            fill : 'red',            hasControls : false        });   canvas.add(rect);   canvas.on('object:moving', function(options) {          options.target.set({             left: Math.round(options.target.left / grid) * grid,             top: Math.round(options.target.top / grid) * grid          });        });    canvas.on('object:moving', function (e) {       var obj = e.target;         // if object is too big ignore        if(obj.currentHeight > obj.canvas.height || obj.currentWidth > obj.canvas.width){            return;        }                obj.setCoords();                // top-left  corner        if(obj.getBoundingRect().top < 0 ||  obj.getBoundingRect().left < 0){            obj.top = Math.max(obj.top, obj.top-  obj.getBoundingRect().top);             obj.left = Math.max(obj.left, obj.left- obj.getBoundingRect().left);            }
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 293 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信