Как добавление и снимать Javascript динамической формы

Я разрабатываю Веб приложение, которое нуждается в том, чтобы загрузить модули динамической формы, у каждого модуля есть фрагменты кода html, css, javascript, которые загрузил путь ajax с json:

Чтобы добавлять html и css метод innerHTML я функционирует верно, вещь, которая не происходит с Javascript.

здесь я оставляю им код просьбы и ответа:

//esta seria la peticion
function requestApplication(e){
    var solicitud = new XMLHttpRequest();
    solicitud.addEventListener('load', requestAplicacionResponse, false);
    var aplicacion = e.target;
    var modulo = aplicacion.parentNode.parentNode;
    var sucursal = modulo.parentNode.parentNode;
    var dataset = sucursal.dataset;
    var url = 'http://' + dataset.host + ':' + dataset.port + '/sistema/aplicacion';
    var paquete = {
        'sesion':sucursal.dataset.sesion,
        'usuario':sucursal.dataset.usuario,
        'perfil': sucursal.dataset.perfil,
        'modulo': modulo.dataset.modulo,
        'aplicacion': aplicacion.dataset.aplicacion
    };
    solicitud.open('POST', url);
    solicitud.send(JSON.stringify(paquete));
}

//este metodo recibe la respuesta del servidor
function requestAplicacionResponse(e){
    var main = document.querySelector('main');//contenedor donde quiero agregar lo solicitado
    //obj es un diccionario clave valor "objeto json" que contiene el codigo que deseo agregar
    var obj = JSON.parse(e.target.responseText);
    main.innerHTML = main.innerHTML + obj.html + obj.css + obj.js;
}

он увиден правильно, но у него нет функциональности, видимо кажется, что не добавлял функции javascript к переводчику javascript присоединенная с DOM страницы.

0
задан 11.10.2016, 21:59
2 ответа

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

Salu2 такие

Aregar как этикетка с контентом:

var script = document.createElement( "script" );
script.type = "text/javascript";
script.text = 'alert("hola mundo")';
document.getElementsByTagName('head')[0].appendChild(script)

Добавлять как файл.

Ты Создаешь этикетку <script> и добавляешь ее к <head>. Событие onload показывает тебя, когда завершается груз рукописного шрифта.

// agregamos archivo-ltr.css o archivo-rtl.css
var script = document.createElement( "script" );
script.type = "text/javascript";
script.src = '/ruta/al/archivo.js';
script.onload = function () {
   // el script se ha cargado 
};

document.getElementsByTagName('head')[0].appendChild(script)

Удалять

Поисков этикетка <script>, которые ты хочешь удалить и удаляешь ее. Имей во всем, что, что это не подразумевает, что модуль загружен полностью, только, шрифт он был загружен, любая инстанция или глобальная переменная, объявленная в этом модуле продолжает существовать.

var script = document.querySelector('script[src=/ruta/al/archivo.js]')
script.parentNode.removeChild(script);
4
ответ дан 24.11.2019, 13:08

Когда ты добавляешь функции javascript во времени ejecuciГіn Г©stas, они не связаны с объектами, что ты должен делать, состоит в том, чтобы выходить ему bind на объекты DESPUГ‰S добавления новых функций. Проверь http://api.jquery.com/bind/

0
ответ дан 24.11.2019, 13:08