1
  • ユーザーのクリックに基づいて特定の位置にドロップダウンを作成したかったのですが、
  • これもドロップダウンの形で来てほしかった
  • ドロップダウンのコンテンツは、ajax によって動的に生成されます。
  • これを行うためにjquery-toolsツールチップを使用していますが、いくつかの問題に直面しています...
  • ajaxコンテンツは、2回目のクリック後にのみロードされます..

これは、ツールチップ オブジェクトの配列を作成するためのコードです

    $(document).ready(function(){
         var show = false;
         var tips = new Array();
             $(".replie").each(function(){
                $(this).tooltip({ effect: 'fade', events:  {widget:'click,'},position:"bottom right",onBeforeShow:function() {
                    this.getTrigger().fadeTo("slow", 0.8);
                    }})
                tips.push($(this).tooltip(0));
                });

これは、ツールチップの動作を制御し、AJAX コンテンツをロードするためのコードです。

    $(".replie").click(function(evt){
        if(!evt){
                    evt=window.event;
                }
            var row =evt.target.parentNode.id[2];
            var aid=evt.target.id;
            var uid= <?php echo $uid ?>;
            var tip;
            $("#tip"+row).load("reply.php?uid="+uid+"&aid="+aid,function(){
                $(this).hide()
            });

            if(tips[row].isShown)
            {
                tips[row].hide();
            }
            else
            {
                tips[row].show();
            }

        });

コンテンツをロードしてツールチップを表示するにはどうすればよいですか?

4

1 に答える 1

2

jQuery.ajax()関数の代わりに関数を使用しjQuery.load()ます。completeまたはsuccessイベントにコールバック関数を設定できます。そのハンドラー内で、tooltip 関数をトリガーします。

これは次のドキュメントですjQuery.ajax(): http://api.jquery.com/jQuery.ajax/

于 2011-06-21T10:30:03.170 に答える