1

私はjQueryMobileサイトを作成していて、いくつかの基本的な概念に苦労しています。たとえば、「地図に表示」などのナビゲーションボタンが付いたページヘッダーがあります。その下に、アイテムを含む折りたたみ可能なリストビューがあります。ユーザーがリストビューアイテムをクリックまたは展開したときに、ナビゲーションボタンをクリックしてマップに表示するときに、選択したアイテムのIDを使用してマップを更新するようにするにはどうすればよいですか。基本的に、1つのボタンのhrefは、現在選択されているものによって異なります。これをどのように処理すればよいですか?このアプローチまたは別のアプローチにサードパーティのライブラリを使用する必要がありますか?

4

1 に答える 1

1

マップ表示を処理するオブジェクトがあるとします。

var Map = new ( function() {
   this.selectedItem = null;
   this.changeSelectedItem = function( itemID ) {
      this.selectedItem = itemID;
   }
   this.displaySelectedItem = function() {
      // display item here using this.selectedItem

   }
} )();

このようなリストアイテムがある場合:

<li class="listItems" data-id="1">Some Item</li>

次に、次のようなハンドラーをアタッチできます。

$( '.listItems' ).click( function() {
   var itemID = $( this ).data( 'id' );
   Map.changeSelectedItem.call( Map, itemID );
} );

このようにして、UIイベントハンドラーをMapオブジェクトのchangeSelectedItemメソッドにアタッチしました。同様に、displaySelectedItemメソッドをUIハンドラーにアタッチできます。これは意味がありますか?

于 2012-08-07T16:56:05.790 に答える