надеюсь, это поможет :)

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

Существует много документов о том, что это происходит, но после 4 часов поиска в сети я не могу найти обходной путь?

Я загружаю динамически сгенерированные div - аналогично странице результатов поиска - и мне нужно привязать .click () к элементу внутри каждого динамически сгенерированного div. У меня есть 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++;
                                }
            }

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

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

Если кто-то нашел решение этой проблемы - или даже обходной путь ограниченной благодати - блестящий!

Заранее спасибо,

Ура,

Скотт

РЕДАКТИРОВАТЬ - РЕДАКТИРОВАТЬ - РЕДАКТИРОВАТЬ - РЕДАКТИРОВАТЬ - РЕДАКТИРОВАТЬ - РЕДАКТИРОВАТЬ - РЕДАКТИРОВАТЬ - РЕДАКТИРОВАТЬ

@ T.J. Crowder @Frug

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

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

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

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

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

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

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

Ответы на вопрос(6)

Ваш ответ на вопрос