Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

259
Visualizações
El evento Oninput no se activa en HTA usando JavaScript

Estoy aprendiendo JavaScript usando algunos ejemplos que encontré en línea. Y al trabajar en una HTA, me he vuelto loco tratando de averiguar por qué el evento "en entrada" no se activará. He incluido el código relevante a continuación para demostrar mi problema. Tenga en cuenta que estoy usando la compatibilidad con Edge en la metaetiqueta. Agradecería cualquier información sobre lo que estoy haciendo mal. Gracias.

 <!DOCTYPE html> <html> <head> <title>Test</title> <meta http-equiv="x-ua-compatible" content="ie=edge"/> <hta:application id="" applicationname="" border="thin" borderstyle="normal" caption="yes" icon="" maximizebutton="no" minimizebutton="yes" scroll="yes" levelintaskbar="yes" singleinstance="yes" sysmenu="yes" version="1.00" windowstate="maximize" /> </head> <style> body { background-color: lightgray; color: darkred; font-family: "Arial"; } h3 { text-align: center; } </style> <script type="text/javascript"> function level() { f = document.getElementById("x").value; document.getElementById("x_out").innerHTML = f + " factor"; switch(document.getElementById("y").value * 1){ case 0: type = "alpha"; break; case 1: type = "beta"; break; case 2: type = "gamma"; break; case 3: type = "delta"; break; } document.getElementById("y_out").innerHTML = type; v = document.getElementById("z").value * 1; document.getElementById("z_out").innerHTML = v; } </script> <body onload="level()"> <h3>Test</h3> <p> X: <br> <input type="range" id="x" min="40" max="6000" onclick="level()"> &emsp;<span id="x_out"></span> </p> Y: <br> <input type="range" id="y" min="0" max="3" onchange="level()"> &emsp;<span id="y_out"></span> <p> Z: <br> <input type="range" id="z" min="0" max="100" oninput="level()"> &emsp;<span id="z_out"></span> </p> </body> </html>
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Con MSHTML (el motor de representación utilizado por MSHTA e IE), oninput se activará con el tipo de entrada text , pero se ignorará para el tipo de entrada range .

No es una buena idea intentar usar una HTA para aprender JavaScript moderno. Los HTA son compatibles con JScript , por lo que constantemente se encontrará con situaciones como esta. Si solo desea trabajar con un archivo local, guarde sus ejemplos con una extensión .htm y ejecútelos en cualquier navegador moderno, como Chrome, Firefox, Edge, etc.

Si realmente desea escribir HTA (es decir, para escribir código que tenga acceso completo a la máquina como un Exe ), deberá recordar que cualquier ejemplo de JavaScript que encuentre debe funcionar con IE 11.

En el caso de su HTA, tenga en cuenta que IE=edge significa "ejecutar en el modo IE más reciente proporcionado por MSHTML". No tiene nada que ver con el navegador Edge. Dado que el último MSHTML ha sido la versión 11 durante mucho tiempo (y nunca irá más allá), también puede especificar IE=11 para tener más claro en qué modo está su HTA. Además, tenga en cuenta que más allá de IE=9 , la sección hta:application se ignora (es por eso que su HTA no se abre al máximo).

Pero, como probablemente descubrió, el tipo de entrada de range requiere IE=10 o superior. Por lo tanto, para usar los atributos range Y hta:application , deberá dividir su HTA en dos archivos, como se muestra aquí .

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda