Как сделать события в новом окне?

#javascript

Вопрос:

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

Проблема в том, что я не могу заставить эти упомянутые функции работать во всплывающем окне.

Здесь я оставляю код.

 var biblioteca = new Array();  /* método personalizado */ function miToStringGenerico() {  return JSON.stringify(this); }  function libro(titulo, autores, anyo, editorial) {   this.titulo = titulo;  this.autores = autores;  this.anyo = anyo;  this.editorial = editorial;  }  function autor(nombre, apellidos, edad, nacionalidad) {   this.nombre = nombre;  this.aepellidos = apellidos;  this.edad = edad;  this.nacionalidad = nacionalidad;  }  window.onload = function () {  document.getElementById("mostrar").onclick = Mostrar;  document.getElementById("insertar").onclick = insertar;  document.getElementById("").onclick = eventos;  document.getElementById("").onmousemove = eventos; }  function insertar() {   var numlibros = parseInt(prompt("Cuantos libros vas a insertar"));  for (let i = 0; i lt; numlibros; i  ) {  var insertalibro = insertarlibro();  biblioteca.push(insertalibro);  }  }  function insertarlibro() {  var autores = new Array();  var titulo = prompt("Insertar el nombre del titulo del libro");  var anyo = parseInt(prompt("Año"));  var editorial = prompt("Inserta su editorial");  var numautores = parseInt(prompt("Cuantos autores vas a insertar"));  for (let i = 0; i lt; numautores; i  ) {  let autor = insertarautor();  /* Aquí genero el método "toString" para que use el nuestro */  autor.toString = miToStringGenerico;  autores.push(autor);  }   var registrohecho = new libro(titulo, autores, anyo, editorial);   return registrohecho;   }  function insertarautor() {   var nombre = prompt("Insertar el nombre del autor").toUpperCase();  var apellidos = prompt("Insertar el apellidos del autor").toUpperCase();  var edad = parseInt(prompt("Edad"));  var nacionalidad = prompt("¿De que pais es el autor?");  var registrohecho = new autor(nombre, apellidos, edad, nacionalidad);   return registrohecho;  }  function Mostrar() {  console.log(Mostrar);  var config = "left=100,top=100,width=300,height=250";  ventana = window.open("", "", config);  biblioteca.forEach(element =gt; {  console.log("Error"   JSON.stringify(element.autores));  var muestra = "lt;ulgt;lt;ligt;"   "Nombre del libro:"   element.titulo   "lt;/ligt;lt;ligt; autores: "   element.autores   "lt;/ligt;lt;ligt; Año en el que se publico: "   element.anyo   "lt;/ligt;lt;ligt; Editorial: "   element.editorial   "lt;/ligt;lt;/ulgt;";  ventana.document.write(muestra);  }); }  function eventos(elEvento) {   var evento = elEvento || window.event  console.log(evento);  switch (evento.type) {  case 'click':  for (let i = 0; i lt; biblioteca.length; i  ) {  biblioteca.splice(0);  alert("El Se han eliminado todos los datos");  }  break;  case 'mousemove':  for (let i = 0; i lt; biblioteca.length; i  ) {  if (biblioteca) {  ventana.style.backgroundColor = "#33FF44";  }  }  break;  } }  

HTML:

 lt;bodygt;  lt;div id="insertar"gt;  lt;input type="button" value="Insertar"gt;  lt;/divgt;  lt;div id="mostrar"gt;  lt;input type="button" value="Mostrar"gt;  lt;/divgt;  lt;/divgt; lt;/bodygt;  

Комментарии:

1. Подумайте об использовании правильной пунктуации. Ваш вводный текст очень трудно прочитать и, следовательно, понять.

2. @connexo Посмотрите еще раз, пожалуйста, я изменил текст, чтобы он был понятнее