Manipular elementos en un bloque seleccionado en el comando
'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)
'var myImg = editor.find('img')' no existe el método 'editor.find'
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.
Issue #1819
[Pregunta]: Bloquear atributos de contenido (ngModel en mi caso) forzados a minúsculas
Estoy intentando usar la directiva angular. En cualquiera de los contenidos de bloque, por ejemplo ' bm.add('radio-block',{ etiqueta: 'Elem...
Issue #1471
[Pregunta] Gestor de bloques e imagen
¡Hola! Uso este código para añadir un nuevo bloque: blockManager.add("image", { etiqueta: 'Image', categoría: 'Básico', atributos: { clase:...
Issue #906
[Pregunta]¿Cómo cambiar el contenido de componentes personalizados (html) de AJAX?
Hola @artf, Antes que nada, gracias por este increíble plugin. ¿Podríais decirme cómo puedo actualizar o cambiar el contenido de bloqueo? C...
Issue #1831
[Pregunta] ¿Cómo ejecutar comandos para un componente de bloque?
Me gustaría hacer algo así. Así que, una vez que un usuario deja caer el componente de prueba en el lienzo, me gustaría abrir el modal de g...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
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 →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.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.