有没有办法在按钮加载时将button()jquery ui函数应用于按钮?

时间:2012-08-06 15:29:22

标签: php javascript jquery jquery-ui

基本上。我有一个javascript循环发布到PHP脚本。附加日志中对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>";
}
}
}

?>

我希望我的问题足够明确,如果您有任何疑问,请发表评论,我会尽快回复。

1 个答案:

答案 0 :(得分:0)

尝试在jQuery中使用.on()函数在创建http://api.jquery.com/on/

时定义它