从 HTML 传递 JS-参数
Pass JS-arguments from HTML
这个问题更多的是关于良好实践。我想编写一个JS模块来将数学函数绘制到canvas
元素上。我知道市面上有几个很好的库,但我是 JavaScript 的新手,喜欢数学。
用户应该尽可能少地使用JavaScript,我想知道一个好的JS库会如何表现。用户是否必须为库应使用的画布元素编写特定id
?用户应该怎么做才能在打开网格和绿色轴的情况下获得从 x = -1 到 x = 1 的绘图?
这会是一个好行为吗?
<canvas id="plotJS, -1, 1, true, green">
我很确定这很糟糕,所以我问。有没有一种方便的方法可以在html
代码中将参数传递给 JS?类似的东西
<canvas id="whatever-i-want" plotJS-xMin="-1" plotJS-xMax="1" plotJS-grid="true" ... >
这通常是怎么做到的?
一种使用 JSON
的方法,data-*
@SLaks 建议的属性。在html
,data
属性值是单个JSON
字符串,可通过HTMLElement.dataset
、JSON.parse()
javascript
访问;还可以使用JSON.stringify()
在元素上重置dataset-plot-js
参数data-plot-js
解析为javascript
对象的属性字符串
var canvas = document.getElementById("canvas");
var data = JSON.parse(canvas.dataset.plotJs);
console.log(data);
// change `xMin`
data.xMin = "-2";
canvas.dataset.plotJs = JSON.stringify(data);
console.log(canvas.dataset.plotJs);
<canvas id="canvas" data-plot-js='{"xMin":"-1","xMax":"1","grid":"true","color":"green"}'></canvas>
相关文章:
- 要求未定义JS回调参数
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 从node.js向CasperJS传递参数数组
- angular.js:13424错误:[ng:areq]参数'fn'不是函数,getObject
- JS和three.JS,在浏览器中进行参数测试
- 如何将一个*参数*从JS传递到AS3
- 参数列表Three.js之后的未捕获语法错误:缺少)
- 建议将包含不同参数的内联JS转换为外部脚本
- 如何在mysql查询(NODE.js)中重复使用一个参数
- 在JS参数中放置引号
- 如何将Gruntfile.js中的参数传递到webdriverio规范
- 如何将.json文件作为参数导入.js文件并使用命令行启动它
- Moment.js不接受变量作为参数
- 是否可以使用Sinon.JS检查函数参数绑定是否正确
- Meteor.js只更新一个参数,而不是整个集合
- 使用应用程序状态js和视图在angular js url上传递两个参数
- 保存上一页参数 js, jsp.
- 将重复出现的代码“外包”到带有参数(js)的函数中
- 如何在我的节点中包含另一个参数.js Web 服务
- 如何获取函数参数'js中的文本值