Issue #1220💬 RespondidoAbierto el 19 de junio de 2018por JulyanoFReacciones 0

Manipular elementos en un bloque seleccionado en el comando

Respuesta rápidapor artf

'var myImg = editor.find('img')' no existe el método 'editor.find'

Lee la respuesta completa abajo ↓

Pregunta

¿Cómo puedo manipular elementos para que se conviertan en un contenido de bloque?

Por ejemplo: Mi bloqueo:

bm.add('img-text', {
    etiqueta: 'Imagen + Texto',
    Contenido: {
        Tipo: 'IMG-text',
        Contenido: '<table class="table"><tr><td style="width:50%;height:100%"><img style="width:100%;height:100%" /></td><td style="width:50%;height:100%"><span>Text<span></td></tr></table>'
    }
});

Mi componente:

domComps.addType('img-text', {
  Defina el modelo
  model: defaultType.model.extend({
        valores predeterminados:{
            etiquetaNombre: "div",
            tipo: "",
            Nombre: "",
            removible: !0,
            arrastrable: !0,
            Droppable: !0,
            Badgable: !0,
            estilizado: !0,
            "stylable-require": "",
            no estilizado: "",
            resaltable: !0,
            copiable: 0,
            redimensionable: !1,
            Editable: !0,
            capas: !0,
            seleccionable: !0,
            hoverable: !0,
            vacío: !1,
            Declara: "",
            Estado: "",
            Contenido: "",
            icono: "",
            estilo: "",
            Atributos: "",
            Clases: "",
            guion: "",
            Rasgos: ["Id", "Título"],
            propagar: "",
            barra de herramientas: null
        },
  }
  ),
  Definir la vista
  view: defaultType.view.extend({
            eventos: {
            'click': función(){
                    var openSmBtn = editor. Panels.getButton('vistas', 'opciones');
                    openSmBtn.set('active', 1);
            }
        },
    })
});

Mando:

editor. Commands.add('options', {
    run: function(editor, sender){
        const myContent = document.createElement('div');
        var myText = editor.getSelected().find('span');
        Aquí intento cambiar el contenido del texto
        myText.set ('contenido', 'Contenido nuevo');
        var myImg = editor.find('img')
        const button = document.createElement('input');
        button.type = "button";
        button.className = "btn btn-éxito";
        button.style = "margen-top:10px";
        button.value = "Añadir una imagen";
        button.onclick = función () {
            editor.runCommand("open-assets", {
                Aquí intento activar activos para
                objetivo: miImg,
                onSelect: función () {
                    editor. Modal.close(), editor. AssetManager.setTarget(null)
                }
            });
        };
        myContent.appendChild(botao);
    }
});

Respuestas (2)

artf20 de junio de 2018

'var myImg = editor.find('img')' no existe el método 'editor.find'

lock[bot]17 de septiembre de 2019

Este hilo se ha bloqueado automáticamente porque no ha habido actividad reciente desde que se cerró. Por favor, abre un nuevo problema para bugs relacionados.

Preguntas y respuestas relacionadas

Continúa investigando con debates sobre temas similares.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.

Explora plugins gratuitos →
Opción premium

Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.

Explora plugins premium →

Tutoriales relacionados

Guías detalladas sobre el mismo tema.

Todos los tutoriales →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.