1

JQuery プラグインが動作するために HTML 要素が必要な場合に何が最善 (または最も一般的な方法) であるかはよくわかりません。たとえば (不自然ではありますが)、スピナー (ティッカー) プラグインが必要な場合、数値を含むテキスト ボックスがあり、ボックスの左側に上下の矢印があります。上向き矢印をクリックすると値が増加し、下向き矢印をクリックすると値が減少します。

いくつかの JQuery プラグイン、特に JQuery UI ウィジェットは、すべての html を提供し、それらに特別なクラスを与えることを期待しています。

スピナーの場合、input タグだけを期待し、JQuery プラグインで上下ボタンをレンダリングする HTML を生成しますか?

おそらくより良い例は、ページング データ グリッドの作成などです。ページング ボタン (First、Last、Previous、Next、Page 1、Page 2...) がプラグインによって生成されるか、またはプラグインのユーザーが特別なクラスで HTML を作成する必要があるか。

4

2 に答える 2

1

を調べる必要がありますjqGrid。大量の HTML が生成されますが、<table>andpager要素はユーザーに任せます。その後、明らかにこれらの要素に追加されます。ただし、これらの要素の兄弟とコンテナーも作成します。

例えば、

<!-- index.html -->
<table id="mygrid"></table>
<div id="pager"></div>

// main.js
$('#mygrid').jqGrid({pager: '#pager', ...});

jqGrid は #mygrid と #pager に追加するだけでなく、新しい兄弟とコンテナーも作成します。

<div id="gbox_mygrid">
   <div class="ui-jqgrid-view">
      <table id="mygrid"><!-- rows --></table>
   </div>
   <div id="#pager"><!-- stuff --> <?div>
</div>

これで、jqGrid が適切に機能するために必要なことを実行できることがわかります。プラグインの必要性に依存すると思います。

于 2013-03-12T07:22:40.460 に答える
1

一般的に、開発者は、必要な内部要素 (スライダーの画像を考えてください) と共にコンテナー要素のみを提供することを期待しています。プラグインがボタン、ページネーションなどのコントロールを生成することを期待しています.

開発者にコンテナ要素を提供するように要求することで、プラグインが別の div であるかのようにページにプラグインを表示する方法、タイミング、場所を完全に制御できます。必要なコンテンツも提供するように要求することは、常に必要というわけではありません。これは簡単に構成項目になる可能性があるからです。

ユーザーが HTML を提供することの主な利点は、JavaScript をサポート/許可しないクライアント (古いブラウザー、スパイダーなどを考えてください) を処理するときに発生します。少なくとも、見苦しい空白ではなく、プラグインが表示するものに関連する何かが表示されます。スライダーの例では、JavaScript がサポートされていない場合、プラグインが適切に処理されていれば、静的な画像に適切に分解できます。

コントロールやステータス表示などのすべての複雑さは、常にプラグインによって生成される必要があります。なんで?使いやすさは、最初に頭に浮かぶものです。jQuery プラグインを使用するのは、問題に対する高速で比較的簡単な解決策が必要だからです。さらに、jQuery プラグインの多くのユーザーは Web 開発者ではなく、ブログなどの管理者であることがよくあります。

プラグインのユーザーが実際には制御できない要素を作成する必要がなくなることで、タイプミス、誤解、RTFMing の欠如によって引き起こされる多くの頭痛の種も解消されます。

私の意見や洞察がお役に立てば幸いです。

于 2013-03-12T07:26:28.863 に答える