3

したがって、リンクの順序付けられていないリストがあり、「これらのリンクのいずれかが初めてクリックされた場合はこれを行い、そうでない場合はこれを行う」と言う必要があります。これらの項目がクリックされます。これがすべての項目の最初のクリックです。

$('.idTabs li a').one("click", function() {
    do this;
});

これは機能しますが、リスト内の個々のリンクに対してのみです。list-item-1 をクリックすると機能し、再度表示されません。list-item-2 をクリックすると、一度実行され、再度表示されません。私が必要としているのは、list-item-1 をクリックして、他の list-item-# に対して再び表示されないようにすることです。

理解を深めるためのさらなる背景: 1 つの項目をクリックすると非表示のサブナビゲーションが展開されるリスト ナビゲーションがあります。最初の項目をクリックすると、サブナビゲーションが表示され、表示された後、他の親項目をクリックすると、タブのような対応するサブナビゲーション。

4

1 に答える 1

4

.data()最初のクリックかどうかを示す、順序付けられていないリストに関連付けられたブール値を保存するために使用できます。

$('.idTabs li a').on("click", function() {
  var $idTabs = $(".idTabs");
  var clicked = $idTabs.data("clicked");
  if (!clicked) { // first click
    $idTabs.data("clicked", true);
    console.log('First click');
  } else {
    console.log('Not the first click');
  }
});​

デモ

于 2012-09-05T00:39:16.303 に答える