2

私は道に迷ったことを認めます。div内にネストされたulのラインアイテム内にネストされたボタンを選択しようとしています

これがメニューバーを作成するphpです。これは、ajaxを介して「menubar」のIDを持つdivに返されます。その部分は正常に機能します。しかし、私のクリック機能はどれも何もしません。

echo "<ul>";
echo "<li class = 'menu'><button class = 'menbtn' id='scores'>Scores</button></li>";
echo "<li class = 'menu'><button class = 'menbtn' id='rules'>Rules</button></li>";
echo "<li class = 'menu'><button class = 'menbtn' id='courses'>Courses</button></li>";
echo "<li class = 'menu'><button class = 'menbtn' id='history'>Comments</button></li>";
echo "<li class = 'menu'><button class = 'menbtn' id='history'>Reservation</button></li>";
echo "</ul>";

IDが「scores」のボタンのクリック関数-$('#scores')は何もしないため、ある種のネストされた選択を使用する必要があると想定しています。私はさまざまなネストされたセレクターを試し、打ちのめしました。

誰かが「スコア」のIDを持つボタンの適切なセレクターを見せてくれたら、そこからそれを理解します。

ありがとうございました、

DMD

4

5 に答える 5

1

これらのイベントを document.ready 関数に入れていないようです。それらを入れてみてください。

例 :

$(document).ready(function(){
   $("#scores").click(function(){
       // Your Stuff
   });
});
于 2012-11-10T04:39:55.253 に答える
0

これにより、ボタンにイベント リスナーが追加されます。

$(document).on('click', '#scores', function (){
    //do something
});
于 2012-11-10T04:41:53.557 に答える
0

問題は、jquery が dom の ajax によって返された新しい要素を読み取れることです。jquery に dom を再読み込みするように通知するには、ライブで呼び出す必要があります。

$('#scores').live("click",function(){
     alert("you clicked scores");
});
于 2012-11-10T04:50:26.797 に答える
0

メソッドを使用できますlive()。このメソッドの助けを借りて、ajax を介して追加された新しい要素をトリガーできます。

$(document).ready(function(){
  $('#scores').live('click',function(){
    //Your code
  })
});
于 2012-11-10T04:52:36.580 に答える
0

まず、HTML に無効なマークアップがあり、同じ ID を持つボタンのコメントと予約があり、2 番目に

セレクターは実際には単純です

$("#scores") //<----

しかし、HTML をどのように構築しているかについてあまり詳しく説明していないため、実際の解決策を推測するだけではわかりません。on1 つのことは、php によって html を追加した後、イベントを使用してイベント ハンドラーを起動する必要があることです。

例えば

$("#score").on("click", function(){ //do something});
于 2012-11-10T04:45:07.930 に答える