2013-10-01 3 views
0

Я попытался загрузить данные из внешнего html-файла в div.jQuery не работает с ajaxally загруженными данными

Как я выбираю html-файл из раскрывающегося списка, а затем нажав кнопку загрузки, при нажатии он загрузит данные выбранного html-файла в текущий html, а на текущей странице html у меня есть div, в котором содержимое html скопировать.

Я могу легко получить содержимое внешнего html-файла в div на кнопку щелчка, но проблема в том, что содержимое, которое копируется из внешнего html в div, на этом html-содержимом jquery не работает должным образом, как draggable, resizable не работают.

Как устранить эту ошибку?

Мой код:

$.ajax({ 
    url: "test.html", 
    async: false, 
    dataType: "text", 
    success: function (data) { 
     console.log(data); 
     $(data).appendTo("#col_two"); 
     return true; 
    } 
}); 

EDIT: Код от комментариев ниже ...

<div class="ui-draggable ui-resizable" style="background: none repeat scroll 0% 0% rgb(253, 23, 23); width:394px;height:210px;position:absolute; left:1084px; top: 287px;border:1px solid rgb(82, 1, 243); z-index:1;" id="rectangle_1"> 
    <div style="z-index:1;" class="ui-resizable-handle ui-resizable-e"></div> 
    <div style="z-index:1;" class="ui-resizable-handle ui-resizable-s"></div> 
    <div style="z-index:1;" class="ui-resizable-handle ui-resizable-se ui-icon ui-icon-gripsmall-diagonal-se"></div> 
</div> 

Я пытаюсь добавить выше код в

Я добавляющим abovecode в Ajax вызова в col_two, добавленный div, чей идентификатор «rectangle_1» не является draggalbe и не изменяет размер

+1

Пожалуйста, покажите нам свой код! – ComFreek

+0

$ .ajax ({ URL: "test.HTML», асинхронной: ложь, DATATYPE: "Текст", успех: функция (данные) { console.log (данные); $ (данные) .appendTo ("# col_two"); возвращающие; } }); здесь col_two - это идентификатор div – user1244566

+0

Пожалуйста, разместите HTML и javascript-код в своем вопросе или как [скрипка] (http://jsfiddle.net/), а не в комментарии. – Raidri

ответ

0

Я бы с uggest обрабатывает все, что связано с содержимым, загруженным ajax, в родительский файл. Учитывая, что вы не отправляли никакого кода, однако что-то вроде этого является то, что вы хотите сделать:

$.ajax({ 
    url: "/file.php", 
    success: function(response) { 
    $('#div').html(respose); 
    } 
}); 

Если вы должны были поставить JavaScript в Ajax загруженного содержания, одна проблемы, я бы беспокоиться о том, что ваш ajax-загруженный скрипт может иметь зависимости, которые предположительно существуют в «родительском» файле.

Кроме того, ваш загруженный ajax код будет загружаться несколько раз, если вы повторно загрузите тот же контент более одного раза.

поэтому не загружайте скрипт с загруженным содержимым ajax, а скорее напишите любые функции в родительском файле javascript.

+0

Я не помещая какую-либо функцию javascript в данные ajax, так как в вашем примере это объект ответа. Это просто чистый html-код – user1244566

+0

означает, что вы пытаетесь использовать jquery для перемещения после загрузки данных ajax? – Shani

+0

Да, но не только jquery draggable, но и все функции jquery, такие как resizable, изменение css и всех других функций. – user1244566

1

Вы можете не использовать функцию load для этого, как и в ...

$("#col_two").load("test.html"); 

Посмотрите на load api в документации Jquery, а также увидеть Difference between $("#id").load and $.ajax? ссылку для сравнения.

Для выдачи использования Draggable и т.д., вы ссылки JQuery.UI, а также у вас есть это в вашем коде ...

$(function() { 
    $("#col_two").draggable(); 
    }); 

Я испытал это на месте, и он работал ...

$(document).ready(function() { 
      $("#col_two").load("Page.htm"); 
      $("#col_two").draggable(); 
     }); 

enter image description here enter image description here

Когда я запускаю это, я могу перетащить 'This is the loaded page...' вокруг.

+0

Я попытался использовать, содержимое отображается, но jquery не работает над ними, например, изменение размера и перетаскивание. – user1244566

+0

@ user1244566, добавьте код на вопрос - не в комментариях. – christiandev

+0

@ user1244566, где вы подключаете функцию '.draggable()'? – christiandev

Смежные вопросы