jquery load () удаляет теги скрипта - обходной путь?

Кто-нибудь знает об обходе jquery .load () удаления тегов скрипта, загруженных из внешнего содержимого?

Их много. документации о том, что это происходит, но после примерно 4 часов поиска в сети я не могу найти решение?

Я загружаю динамически сгенерированные блоки div - аналогично странице результатов поиска - и мне нужно привязать .click () к элементу в каждом динамически генерируемом div. Я' ve файл php, который выполняет работу по генерации html и возвращает весь html в виде строки, однако я не могу связать jquery .click (), поскольку теги сценария, содержащие функцию jquery, удаляются.

вот код, который загружает внешний контент, вызвав файл php ...

$("#titles_wrap").load("m_scripts/m_php/titles_loader.php", function(){
                                                                $..some code
                                                                });

и вот цикл из файла php, который генерирует div (это отлично работает) ...

$tag1='<script type="text/javascript">';
$tag2='</script>';

while($result_array = mysql_fetch_array($result)) {

            if($i2<=($titles_total)){

                $_SESSION['titles_string'] .= '<li id="listItem_'.$i2.'">

                                                <div id="titles_list_item">

                                                    <div id="titles_list_image_box" style="background-image: url(../../images/thumbs_test/'.$result_array[0].'); background-repeat: no-repeat; ">'.($i2+1).'</div>
                                                    <div id="title_php_loader"></div>
                                                        <div id="title_info_wrap">

                                                        <div id="title_current"><span class="title_current_grey" >current title: </span><br>'.$result_array[1].'
                                                            </div>

                                                                <div id="title_form_wrap">
                                                                    <span class="title_current_grey" >new title: </span><br><input name="title_input_'.$i2.'" id="title_input_'.$i2.'" type="text" class="title_input"></input>
                                                                    <div id="title_send" class="title_send_'.$i2.'">GO</div>
                                                                </div>

                                                            </div>


                                                    '.$tag1.'
                                                    $(".title_send_'.$i2.'").click(function(){$("#title_php_loader").load("m_scripts/m_php/title_sender.php")})
                                                    '.$tag2.'

                                                </div>
                                            </li>';
                $i2++;
                                }
            }

Извините, если этот второй блок кода немного переборщен 'сторона - дайте мне знать, если упрощенный отрывок будет более полезным. Тем не менее, вы можете увидеть в 8-й от последней строке php-кода функцию jquery, которая должна быть записана в каждый div с динамически назначаемым селектором.

Конечно, в коде могут быть и другие ошибки, однако я Я не смогу протестировать его, пока не получу .load (), чтобы он перестал уничтожать его!

Если кто-нибудь ' @Frug

Спасибо за вашу помощь!

Я только что внимательно изучил страницы, задействованные в вашей демонстрации, и да, я вижу, что у вас все работает. Выглядит потрясающе, потому что они есть - эти теги сценария, и так много людей не могут заставить его работать - к сожалению, я один из них!

Единственные различия, которые я вижу между вашей демонстрацией и моей ситуацией кода, заключались в

1) отсутствие объявления типа в открывающем теге скрипта,

2) вы загружаете страницу с тегами скрипта как часть DOM, в то время как я загружал вывод строки php (я действительно не думаю, что это имеет значение, да? К тому времени, когда он попадает в клиент, все приходит к одному и тому же, не так ли?)

3) ваш вызов .load был получение всей страницы, тогда как моя возвращала только элементы. С тех пор я изменил строку вывода, чтобы включить все и теги, кроме grrrrrr ... Я до сих пор не могу показать эти чертовы теги сценария в DOM.

Есть предложения? Есть масса, о которой я не знаю, так что может быть что угодно! спасибо S

8
задан Scott Clark 18 May 2011 в 20:37
поделиться