Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在dojo.addOnload方法或DeclaratiteVly中注册事件侦听器_Dojo - Fatal编程技术网

在dojo.addOnload方法或DeclaratiteVly中注册事件侦听器

在dojo.addOnload方法或DeclaratiteVly中注册事件侦听器,dojo,Dojo,在dojo.addOnload方法中使用注册事件侦听器与声明式注册它们之间的区别是什么 例如,我有一个按钮,如图所示 <button dojoType="dijit.form.Button" id="buttonTwo"> Show Me! </button> 第二种方法: dojo.addOnLoad(function() { var widget = dijit.byId("buttonTwo"); dojo.connect(

在dojo.addOnload方法中使用注册事件侦听器与声明式注册它们之间的区别是什么

例如,我有一个按钮,如图所示

<button dojoType="dijit.form.Button" id="buttonTwo">
            Show Me!
        </button>
第二种方法:

dojo.addOnLoad(function() {
var widget = dijit.byId("buttonTwo");
dojo.connect(widget, "onClick", function(){
alert('ddddd');
});
<button dojoType="dijit.form.Button" id="buttonTwo"  onClick="callMe()">
            Show Me!
        </button>

向我展示!

没有实际的区别,这是您喜欢如何组织代码的问题

话虽如此,我相信您应该避免在Dojo中混合使用声明性和编程性方法,以获得更一致的代码基础。这意味着,如果您选择了编程路线,您应该这样做,而不是第一种方法:

dojo.addOnLoad(function() {
    new dijit.form.Button(
        {
            label: "Show Me!", 
            onClick: function() {
                alert('ddddd');
            }
        },
        'buttonTwo'
    );
});
...
<button id="buttonTwo"></button>
dojo.addOnLoad(函数(){
新的dijit.form.Button(
{
标签:“给我看!”,
onClick:function(){
警报(‘ddd’);
}
},
“buttonTwo”
);
});
...
此示例是一个完整的编程示例。根据您的偏好,您可以使用它(而不是第一种方法),也可以使用第二种方法。您可以阅读更多关于编程式和声明式Dojo方法差异的内容