0

私はこのようなhtmlマークアップを持っています

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

そのDOMをアンカーとして使用してボタンウィジェットを作成したい

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

onclick属性をボタンウィジェットにコピーするにはどうすればよいですか?私がこれをやりたい理由は、私が使用したWebフレームワーク(リフト)が、ボタンをdijitウィジェットにする前にボタンにいくつかの機能を追加するためです。

4

1 に答える 1

2

PEMは完全に正しいので、そのためにdojoパーサーを使用します(onclickのキーワードは大文字の「C」になります: "onClick ='alert(true)'"または "data-dojo-props ='onClick:function(){alert (true)}'"。

とにかく、これを達成する1つの方法があります

var dom = dojo.byId('button1');
var fn = eval(dom.onclick.toString());
dom.onclick = null;
var button = new Button({label: "button", onClick:fn}, "button1");
于 2012-07-02T18:26:26.240 に答える