이 기사 (Using dojo.behavior)를 읽고 이벤트 처리 모듈로 내 프로젝트에서 behavior 모듈을 사용하고 싶습니다.dojo/widgets에서 dojo/behavior 사용 방법은 무엇입니까?
DOM 노드의 경우 훌륭하게 작동하지만 Dojo 위젯에서 어떻게 사용할 수 있습니까? 내가 행동 모듈을 사용하는 경우
behavior.add({
"#myButton": {
onClick: buttonHandler
}
});
에게, 그것을
var buttonNode = dijit.byId("myButton");
on(buttonNode, "onClick", buttonHandler);
또는
dijit.byId("myButton").onClick = buttonHandler;
을하지만 : 나는 도장을 사용하는 경우
/모듈, 나는 이런 식으로 작업을 수행 할 수 있습니다 작동하지 않습니다. (물론 내가 페이지 렌더링을 마친 후에는 behavior.apply()를 호출했습니다. 아래 코드는 작동하지 않습니다.
behavior.add({
"[widgetid='myButton']": {
onClick: buttonHandler
}
});
위의 코드가 작동하지 않는 이유는 버튼 위젯이 많은 s와 inner로 구성되어 있기 때문입니다. 그리고 data-dojo-id로 지정된 id를 사용하면, 대신에 이벤트가 바인드되기를 기대하는 대신에 가리킬 것입니다.
나는이 상황을 걸을 수있는 솔루션,behavior.add({
"[widgetid='myButton'] input": {
onclick: buttonHandler
}
}
을 발견하지만, CSS 선택이 너무 복잡하고 위젯이 어떤 유형에 따라 달라집니다.
dom 노드와 마찬가지로 위젯에서 dojo/behavior를 적용하는 좋은 해결책이 있습니까?
예. 당신이 말한 것은 제가 직면하고있는 문제입니다. 좋은 해결책이 있습니까? – Programus