прототип Lightbox не работает с кодом jquery - PullRequest
0 голосов
/ 20 марта 2012
<link rel="stylesheet" href="skin/lightbox.css" media="screen,projection" type="text/css" />
<script type="text/javascript" src="JS/prototype.js"></script>
<script type="text/javascript" src="JS/lightbox.js"></script>


<script type="text/javascript" src="jquery/jquery-1.3.2.min.js"></script>

<script type="text/javascript">


$(document).ready(function(){
    setInterval(function(){
        $.ajax({
              url: "getResult.php",

              success: function(result){

              var output = '<tr><td>Name</td>\n\
                                <td>Type</td>\n\
                                <td>Data</td>\n\
                                <td>Detail</td></tr>';
               $.each(result, function(i, result){

               output += '<tr><td>' +  result.sensorName + '</td><td>' +
                      result.sensorType + '</td><td>' +
                      result.data + '</td><td><a href="lightBox.php" class="lbOn">view</a></td></tr>';   
                      //Naming class="lbOn" can trigger Lightbox function
               });

               $("#insideTable").html(output);

        }, dataType: "json"});
    }, 2000);
});

</script>


<table border="1" id="insideTable" width="100%">

</table>

Лайтбокс в приведенном выше коде не работает.(см. пример Lightbox, который я использую: http://particletree.com/examples/lightbox/). Я думаю, что это, вероятно, конфликтует с существующим кодом Jquery.

Затем я добавил jQuery.noConflict (); и добавил $ в Jquery, что даже предотвращаетсуществует код Jq работает.

Кто-нибудь может мне помочь? Большое спасибо!

Ответы [ 2 ]

1 голос
/ 20 марта 2012

Цитируя себя из здесь ....

Если это вообще возможно, сделайте себе одолжение и используйте только одну библиотеку JavaScript.

  • Загрузка двух полноценных библиотек может быть ресурсоемкой, особенно если они обе проходят по всему DOM для инициализации некоторых виджетов или чего-то еще.

  • Даже при noConflict возможны проблемы. Библиотеки используют различные внутренние методы для управления событиями и узлами DOM. Существует вероятность незначительных ошибок, которые noConflict не может предотвратить.

  • У вас будет два синтаксиса и философии для работы.

  • У вас будет две библиотеки для обновления и проверки зависимостей.

Выберите один и выберите свои плагины и виджеты на основе этой библиотеки.

0 голосов
/ 20 марта 2012

Вы должны запустить jQuery в режиме noConflict.Используйте jQuery.noConflict() после добавления тега сценария jQuery.В вашем коде вы должны изменить $ на jQuery, где используется jQuery

http://api.jquery.com/jQuery.noConflict/

Или использовать fancybox для jQuery insteed; -)

...