일관된 동작으로 연결을 연결할 수 없음을 발견했습니다. 아래 코드에서 위젯의 onCustomClick 메서드가 호출되었지만 연결된 함수는 호출되지 않습니다. 내가 가진 해결 방법은 onCustomClick2를 사용하여 수행 한 작업입니다. 여기에서 이벤트를 단순히 다른 메서드를 호출하는 내부 메서드에 첨부합니다. 내부 메서드가 없어도이 코드를 작성할 수 있습니까? 그래서 여기 실행 순서에 따라 이전 (그리고 당신이 결합하고있는 방법)를 호출하는 새로운 기능을 가진 방법을 재정 의하여 작동 dojo.connectChaining dojo.connect
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Dojo Connect Issue</title>
</head>
<body>
<div id="content"></div>
<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.7/dojo/dojo.js" data-dojo-config="isDebug: true"></script>
<script type="text/javascript">
require(["dojo/domReady!", "dojo/parser", "dijit/_Widget", "dijit/_Templated"], function(dr, p, w, t) {
dojo.declare("W1", [w, t], {
templateString: '<div>Click Me</div>',
postCreate: function() {
this.inherited(arguments);
this.connect(this.domNode, 'onclick', this.onCustomClick);
this.connect(this.domNode, 'onclick', this._onCustomClick2);
},
onCustomClick: function() {
console.debug('onCustomClick');
},
_onCustomClick2: function() {
this.onCustomClick2();
},
onCustomClick2: function() {
console.debug('onCustomClick2');
},
});
var w = new W1({}, dojo.byId('content'));
dojo.connect(w, 'onCustomClick', function() {
console.debug('End Consumer - onCustomClick'); // never gets called???
});
dojo.connect(w, 'onCustomClick2', function() {
console.debug('End Consumer - onCustomClick2');
});
w.startup();
});
</script>
</body>
</html>
this.connect (this.domNode, 'onclick', 'onCustomClick'); dojo.connect를 수행하는 경우 올바른 구문이 필요합니다. 그러나 설명이 올바르지 않습니다. 감사. –