2012-07-02 5 views
0

나는이DOM 노드의 속성을 dijit 위젯으로 복사 하시겠습니까?

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

같은 HTML 마크 업을하고 난

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

이 어떻게 온 클릭 버튼 위젯에 속성을 복사 할 앵커로 그 DOM을 사용하여 버튼 위젯을 만들고 싶어? 내가 이것을 사용하고자하는 이유는 내가 사용하는 (리프트) 웹 프레임 워크가 dijit 위젯으로 만들기 전에 버튼에 일부 기능을 추가하기 때문입니다.

+0

를 달성하기 위해 하나의 방법입니다 dojo 구문 분석기를 사용하여 모든 것을 위젯으로 변환 할 수 있습니까? – PEM

+0

HTML로 모든 것을 고집하지 않습니다. (실제로 이미 솔루션을 시도하고 꽤 잘 작동합니다.) js에 모든 것을 집어 넣는 것이 훨씬 더 깔끔한 것 같습니다. 나는 하네. 이게 가능하다면 알고 싶습니다. –

+1

네가 할 수있는 dojo 버전에 따라 가능할 수도있다. 프레임 워크에서 허용하는 경우 모든 추가 된 함수를 데이터에 넣을 수 있습니다. dojo-props = 'someFunc : function (param) {// whatever} someProp : someValue'태그에 – PEM

답변

2

PEM은 절대적으로 정확합니다. dojo 파서를 사용하십시오 (onclick 키워드는 대문자 'C'로 표시됩니다 : "onClick = 'alert (true)' '또는'data-dojo-props = 'onClick : function() {경고 (참)} ''. 어쨌든

, 여기 당신의 HTML에 데이터 도장 형을 추가 할 프레임 워크를 사용하는 것이 더 좋지 않을까요 그것을

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