为什么我应该为单个按钮使用数据dojo类型

Why should I use data-dojo-type for single buttons?

本文关键字:数据 dojo 类型 按钮 我应该 单个 为什么      更新时间:2024-06-18

我是dojo的新手。我为现代浏览器编写了一个应用程序(CSS3/HTML5)。在某些页面上,我需要一个执行简单操作的按钮。我只是这样写按钮:

<button class="myButtonClass" data-dojo-attach-event="click:myCallback">Click me</button>

我不需要其他任何东西。但我的同事有着较长的Dojo经验,他们说我错了,我应该使用dijit小部件,而不是html按钮,所以我应该写:

<button data-dojo-type="dijit/form/button" data-dojo-attach-event="click:myCallback">Click me</button>

行为是相同的,但dojo用许多复杂的spandiv标记替换了我的button标记,这很难理解和自定义(imho)。我的同事们只是争辩道:"这是Dojo中正确的做法"。在这种情况下,当Vanilla/CS3和附加事件完成任务时,data-dojo-type="dijit/form/button"有什么好处?

在功能方面,我还没有遇到过DOJO按钮比简单的HTML按钮更有用的情况。

如果你只是想自定义按钮并增强其外观,IMHO也可以在简单的HTML按钮中完成。使用DOJO按钮有时会给理解其HTML和CSS带来困难(因为一个按钮有很多HTML和类!)。不久前,我也面临着同样的困境,于是我决定使用HTML按钮。

当我们谈论用户体验时,就会出现问题,因为HTML按钮和DOJO按钮的样式可能不会产生相同的外观。在这一点上,最好坚持使用目前正在使用的任何东西。

没有"必须做"。只有指导方针和团队决策。

这两种语法都有效。这只是一个编码标准和/或需求的问题。

如果你正在开发的应用程序使用dijit按钮,那么出于一致性的原因,你最好坚持使用它

另一方面,dijit按钮是高度可配置的。如果你不需要超级通用组件,并且你想优化dom,那么按钮标签就可以了…

总而言之,这只是一个选择的问题。但可以肯定的是,如果应用程序已经包含一些dijit按钮,你应该坚持使用它们(或全部替换它们),否则用户体验会很糟糕。