8

これは素朴な質問かもしれませんが、私は jQuery Mobile を学んでいて、すべてがdata-role属性に関連している理由がわかりません。役割がスタイルに関係している時も使いdata-roleすぎているようです。class

data-roleセマンティクスについては、多くの場合に意味があることを理解していますが、ここでは悪用されているようです。そのようなルックアップも遅くなりませんか?

なぜ彼らはdata-roleover classを使用するのですか?

洞察をありがとう。

4

4 に答える 4

0

jQueryMobile は、さまざまな data-xxx 属性を探して DOM を処理する load イベント ハンドラーをページに追加します。それらが見つかると、要素のスタイルを設定するだけではありません。

多くの場合、data-role に関連付けられたタイプのウィジェットを作成します。たとえば、 <div data-role="header"> はツールバー ウィジェットに変換され、その作成によってその要素内の DOM が大幅に変更される可能性があります。

ボタンなどのいくつかの単純なウィジェットでは、一部のクラスが追加される以外はほとんど何も起こらないことがわかっているので、プロセスをショートカットして直接追加しないのはなぜでしょうか? それは機能しますが、将来性はありません。歴史のさまざまな時点で、さまざまなバージョンの jQM がさまざまな DOM 構造を持つボタンを作成していました。したがって、個人的には、jQM をショートカットしないで、適切と思われるデータ属性を処理させるのが最善だと思います。

そうは言っても、データ属性ではなくクラスによって識別されるウィジェットを作成することはまだ可能でした。これは、jQM の前に人々がこれらのことを行っていた方法です。しかし、これらのクラスにも CSS が関連付けられているという期待があるかもしれません。data- 属性を使用すると、これが単なるスタイリングではなく、構造的/役割的なものであることが明確になります。

于 2016-05-19T20:32:19.430 に答える