Вставьте случайное значение <script>для использования $ (document) .ready (function ()}); в Joomla - PullRequest
1 голос
/ 15 апреля 2010

У меня есть статья, в которой я использую код PHP внутри текстового редактора в Joomla, в бэкэнде.Я вижу, что jQuery уже вызывается при загрузке страницы, вот мой код в текстовом поле «Редактирование статьи»:

<?php
$username="XXX";
$password="XXX";
$database="XXX";

mysql_connect('localhost',$username,$password) or die(mysql_error());
mysql_select_db($database) or die("Unable to select database");
$result=mysql_query("SELECT * FROM birthdays ORDER BY name")
or die(mysql_error());

echo "<table width='100%' cellspacing='10' cellpadding='0' border='0'>";
echo "<tr valign='top'><th align='left'></th><th align='left'>Name</th><th align='left'>Email</th><th align='left'>Day</th><th align='left'>Month</th></tr><tr><td>&nbsp;</td></tr>";

while ($row = mysql_fetch_array($result)) {
    echo "<tr>";
    echo '<td valign="top"><a href="#" id="'.$row['id'].'" class="delete_birthday"><img src="administrator/components/com_media/images/remove.png" alt="Delete user" /></a><input type="hidden" name="id[]" value="'.$row['id'].'" /></td>';
    echo "<td valign='top' style='border-bottom:1px dotted #333333; padding:2px;'>";
    echo $row['name'];
    echo "</td>";
    echo "<td valign='top' style='border-bottom:1px dotted #333333; padding:2px;'>";
    echo $row['email'];
    echo "</td>";
    echo "<td align='center' valign='top' style='border-bottom:1px dotted #333333; padding:2px;'>";
    echo $row['birthday'];
    echo "</td>";
    echo "<td align='center' valign='top' style='border-bottom:1px dotted #333333; padding:2px;'>";
    echo $row['birthmonth'];
    echo "</td>";
    echo "</tr>";
}
echo "</table>";
?>

<script type="text/javascript">
$(document).ready(function() {
    alert("hello");
});
</script>

На данный момент ничего не предупреждает (просто предупреждая о тестировании, если jQuery распознается, я, очевидно, собираюсьположить click обработчики), поэтому я предполагаю, что $(document).ready() никогда не срабатывает.Я могу видеть код в исходном коде, но он никогда не вызывается.

У кого-нибудь есть совет?КСТАТИ.плагин SC jQuery уже установлен для предотвращения конфликтов библиотек.

1 Ответ

4 голосов
/ 15 апреля 2010

Согласно странице SC jQuery , он загружает jQuery в режиме «без конфликтов». Это означает, что функция $ не будет доступна, и вам нужно использовать jQuery вместо:

jQuery(document).ready(function() {
    ...
});

Дополнительная информация на jQuery.noconflict.

...