新建一个最简单的wasm应用并在浏览器里运行起来,这一篇,用wasm在页面上新建DOM元素。
使用web-sys库
rust写的wasm要操作DOM,需要引入web-sys库,在Cargo.toml里添加下面的内容:
The web-sys
crate allows you to interact with the various browser APIs,
like the DOM.
[dependencies.web-sys]
version = "0.3.22"
features = [
'CanvasRenderingContext2d',
'CssStyleDeclaration',
'Document',
'Element',
'EventTarget',
'HtmlCanvasElement',
'HtmlElement',
'MouseEvent',
'Node',
'Window',
]
lib.rs中添加操作DOM的代码
添加必要的引用
use std::cell::Cell;
use std::rc::Rc;
use wasm_bindgen::JsCast;
添加操作DOM的代码,这里创建了一个h5的canvas,并绑定鼠标按下、移动、弹起事件,实现鼠标按下移动绘制线条。这些功能从hcl_init()开始触发。
网友评论