为什么要为单个按钮使用 data-dojo-type?

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

我是道场的新手。我为现代浏览器编写了一个应用程序 (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 将我的 button 标签替换为很多复杂的 spandiv 标签,这些标签很难理解和定制(恕我直言)。我的同事们只是争论:"this is the correct way to do in Dojo"。 data-dojo-type="dijit/form/button" 在这种情况下有什么好处,当 Vanilla/CSS3 和 attach-event 完成工作时?

没有"must do"。只有指导方针和团队决策。

两种语法均有效。这只是 and/or 需要的编码标准问题。

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

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

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

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

如果您只想自定义按钮并增强其外观,恕我直言,也可以在简单的 HTML 按钮中完成。使用 DOJO 按钮有时会造成理解其 HTML 和 CSS 的困难(因为有很多 HTML 和 类 只是一个按钮!)。不久前我遇到了同样的困境,我决定使用 HTML 按钮。

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