将属性从 DOM 节点复制到 dijit 小部件中

Copy attribute from DOM node into a dijit widget?

本文关键字:dijit 小部 复制 属性 DOM 节点      更新时间:2023-09-26

我有这样的 html 标记

<button id="button1" onclick="alert='yup'"></button>

我想使用该 DOM 作为锚点制作一个按钮小部件

var button = new Button({label: "button"}, "button1")

如何将点击属性复制到按钮小部件中?我想这样做的原因是因为我使用的 Web 框架(提升)在我将其制作成 dijit 小部件之前向按钮添加了一些功能。

PEM 是绝对正确的,为此使用 dojo 解析器(onclick 的关键字将带有大写的"C":"onClick='alert(true)'"或"data-dojo-props='onClick:function() {alert(true)}' "。

无论如何,这是实现它的一种方法

var dom = dojo.byId('button1');
var fn = eval(dom.onclick.toString());
dom.onclick = null;
var button = new Button({label: "button", onClick:fn}, "button1");