如何在创建后的dojoAMD模块中调用按钮点击事件
how to call the button click event in post create dojo AMD module
我在dojo AMD模块中创建了新的dojo应用程序。我需要调用我的按钮在一个脚本文件点击到另一个脚本。但当我点击按钮时,它显示零值错误,我的示例代码如下:
我的功能文件代码是:
define(["dojo/_base/declare" . . .], // defaultDuration
function (declare . . ) {
var mycode = declare([ContentPane, _WidgetBase, _TemplatedMixin], {
toggle: function () {
//here my function
},
constructor: function (params /) {
},
postCreate: function () {
}
});
return mycode;
});
按钮点击事件:
define(["dojo/_base/declare" . . . ],
function (declare . . .) {
var evet = declare([dijit._WidgetBase, dijit._TemplatedMixin], {
_div: null,
constructor: function (div) {
this._div = div;
},
postCreate: function () {
this.inherited(arguments);
var markbutton = new Button({
label: "Mark",
}, this.markButtonNode);
markbutton.on("click", function (evt) {
this._div.toggle(); // error here _div is undefined.
});
}
});
return evet;
});
您需要挂接作用域才能使this
工作。
markbutton.on("click", lang.hitch(this, function (evt) {
this._div.toggle();
}));
好吧,您可以将范围存储在变量中,并在函数内部访问该变量。。。。
试试这个:-
var _this = this;
markbutton.on("click", function (evt) {
_this._div.toggle();
});
在这种方法中,不需要"dojo/_base/lang"。。。
希望这对你有帮助。。
相关文章:
- 调用按钮单击事件 ajax 加载的用户控件
- 未调用按钮事件
- 在另一个C#按钮单击处理程序之前,从OnClientClick函数调用C#按钮处理程序
- 通过javascript ASP.NET MVC下拉列表调用按钮
- jquery ajax 调用按钮单击验证不起作用
- 按 Enter 键并调用按钮函数
- jquery调用按钮集,保持其他一切
- 表单操作调用按钮
- 如何从Ruby/Rails调用按钮的特定实例.each循环,当它们都具有相同的类时
- 如何在创建后的dojoAMD模块中调用按钮点击事件
- __doPostBack()导致了aspx页面中的postback但未调用按钮单击事件
- 从JavaScript asp.net调用按钮点击;不起作用
- 如何从JQuery对话框调用c#按钮事件
- fullcalender不调用按钮点击和内部的任何函数
- 调用按钮从JavaScript
- 我想调用一个方法在一个脚本通过传递参数从javascript函数调用按钮点击从html
- Jquery函数不调用按钮点击
- Onclick事件-使用id以外的东西调用按钮
- JQuery未捕获错误:不能在初始化之前调用按钮的方法;试图调用方法'loading'
- jQuery移动按钮上的调用按钮(“刷新”)会破坏按钮样式