0

基本的。PHPスクリプトに投稿するJavaScriptループがあります。ログ内の DIV への応答に追加します。応答には、その中にボタンがあります。問題は、新しい応答が作成されて追加されると、jquery ボタン関数によって、以前に追加されたすべてのボタンが大きくなることです。(おそらく、同じ DIV 要素で jquery button() 関数を再度呼び出しているためです。)

ボタンがロードされたときにボタン() jquery ui関数をボタンに適用する方法はありますか? (同じ名前のすべての要素に適用する代わりに?)

この php は、次のものと非常によく似ています (ただし、これは短縮されています)。php スクリプトが何を行うかを理解するためです。

<?php

    echo "<script type='text/javascript'>
        function addButton(x) {
            x = this;
            $(x).button({            
                icons: {                
                    primary: 'ui-icon-alert'                    
                }
            });
        }
        </script><div id='chat_wrap' class='message".$id."' hidden='true'>";


if ($query_run = mysql_query($finalchatq)) {
    if (mysql_num_rows(mysql_query($finalchatq)) > 0) {
        $counter = 0;
        $amount = array();
        while ($query_rows = mysql_fetch_assoc($query_run)) {
            $time1 = $query_rows['time'];
            $time2 = substr_replace($time1, " : ", 10, 1);
            $time = str_ireplace('.', '/', $time2);
            $text = str_ireplace('removem', '', $query_rows['text']);
            $id = $query_rows['id'];

            if($query_rows['type']=='notice') {

            echo "<div  selectable='false'><div id='date'><div id='notice'>NOTICE:</div>Sent At: ".$time."</div><div id='Nchat_message'><div id='chat_text'>".$text."</div><img id='charhead' src='camperhead.php?id=".$query_rows['who']."' id='charhead'></img></div>";
            echo "<div id='controls'>";

            if(userIsA('admin')||userIsA('mod')) {
                echo "<input hidden='hidden' name='idtodel' value='".$id."'></input><input type='button' value='DELETE' id='delete_button'></input>";
            } else {

            }

            echo "</div></div></div><br/><br/>";         
        }
        if($query_rows['type']=='normal'){      
            echo "<div selectable='false'><div id='date'><div id='by'>".getUserFieldById($query_rows['who'], 'camper_name').":</div>Sent At: ".$time."</div><div id='chat_message'><div id='chat_text'>".$text."</div><img id='charhead' src='camperhead.php?id=".$query_rows['who']."' id='charhead'></img>";
            echo "<div id='controls'>";

            if(userIsA('admn')||userIsA('md')) {
                echo "<button id='delete_button' class='dpp2'  onclick='delCom(".$id.")'>Delete</button>";
            } else {
                echo "<button id='report_button' onload='addButton(this)' onclick='reportCom(".$id.")'>REPORT</button>";
            }
    echo "</div></div></div></div></div><br/><br/>";
        }
    }
    echo "</div>";
}
}
}

?>

質問が十分に明確になったことを願っています。懸念がある場合は、コメントを投稿してください。できるだけ早く返信します。

4

1 に答える 1

0

jQuery で .on() 関数を使用して、作成時に定義してみてください http://api.jquery.com/on/

于 2012-08-06T16:04:27.463 に答える