Ya estoy viendo algunas preguntas relacionadas con esto en SO, pero creo que el mío es lo suficientemente diferente como para no ser considerado un duplicado (si me equivoco, hágamelo saber).¿Cómo puedo hacer que un control ActiveX escrito con C# levante eventos en JavaScript al hacer clic?
Tengo un control ActiveX que he escrito en C# y aunque lo tengo principalmente funcionando, quiero plantear un evento en JavaScript cuando se hace clic (muestra una imagen por lo que es un elemento visual en la página).
El objetivo final de lo que estoy buscando lograr no es diferente de si fuera una etiqueta <span>
y tenía un evento onclick
para activar una función de JavaScript cuando se hacía clic en el área de la etiqueta.
La mayor parte del stuff I've read en él entra en detalles muy finos sobre cómo manejar eventos en un control ActiveX y enviar información de avance/retroceso, y eso está bien, pero parece demasiado complicado. No busco comunicarme con el control ActiveX, solo necesito una función de JavaScript para disparar cuando hago clic en ella, de manera similar a una etiqueta <span>
o <div>
. Puedo manejar todo lo demás en JavaScript. Simplemente envolviendo el control en un <span>
o <div>
con un evento onclick
no tiene ningún efecto, el control ActiveX prácticamente lo anula.
¿Hay una manera simple de manejar esto para un control ActiveX escrito en C#?
supongo que otra manera de decirlo es - Estoy trabajando con un control de terceros y tenemos que utilizar un código similar al siguiente para conseguir que se comunique con nuestra página HTML a través de JavaScript
<script type="text/javascript" event="OnMouseClick(index)" for="AXObjectName">
<!--
AXObjectName_OnMouseClick(index);
//-->
</script>
Donde AXObjectName
es el nombre/identificación del control y AXObjectName_OnMouseClick
es el nombre de la función de JavaScript que se activará en mi código, pasando un parámetro index
. Sin embargo, ¿qué tengo que hacer para configurar un método como OnMouseClick
en el control? Y si no quiero pasar ninguna información real (es decir, no index
), ¿tengo que llegar hasta aquí?
Supongo que ya ha visto este ejemplo de código: http://www.c-sharpcorner.com/UploadFile/dsandor/ActiveXInNet11102005040748AM/ActiveXInNet.aspx – MusiGenesis
De hecho, acabo de incluir el enlace para poder encontrarlo en mi otra computadora. Voy a probar un experimento de control ActiveX yo mismo y tal vez averiguar el evento. Parece relativamente sencillo. – MusiGenesis
@MusiGenesis: sí, y es uno de los que seguí para llegar hasta aquí. Lo que no hace, sin embargo, es mostrar cómo la interacción con el control ActiveX puede tener algún efecto sobre el JavaScript en la página. –