Mouse up sobre un applet

Hola, estoy desarrollando una página que tiene un applet llamado JSHAPE la página del applet es www.jshape.com. Mi página consta de varios frames, en uno tengo el applet y en otro unos botones que interactúan con el applet. Uno de estos botones es el de arrastrar, cuando presiono esta botón se habilita una función de arrastrar("PAN") en el applet, pero quiero que cuando se termine de arrastrar eejcutar una función que tengo en javascript. He probado con el evento mouseup pero me ejecuta la función cuando levanto el mouse al presionar el botón.
Espero haberme explicado bien.
Muchas gracias, BOLO
Respuesta
1
Haces bien al asignar la función, pero me parece que falta una comprobación.
La secuencia debería ser la siguiente:
- Tienes dos funciones, una que se ejecuta al pulsar el ratón (onmousedown) y otra al soltar el botón (onmouseup).
- La primera debería asignar un valor a una variable global y la segunda debería chequear esa variable antes de activarse.
- Al pulsar ese botón que habilita la función de arrastrar, deberías habilitar estas dos funciones, con lo que al soltar el botón la segunda función chequeará la variable y no se lanzará, sino que esperará hasta que hayas vuelto a pulsar el ratón.
Quedaría una cosa más o menos así:
<html>
<script>
var variableglobal = 0;
// mousedown
function md ()
{
variableglobal = 1;
}
// mouse up
function mu()
{
if (variableglobal == 1)
alert (1);
variableglobal = 0;
}
function activar()
{
document.onmousedown = md;
document.onmouseup = mu;
}
</script>
<body>
<input type=button onclick="activar();" value="pulsa">
</body>
</html>

3 respuestas más de otros expertos

Respuesta
1
Según veo el problema en si es que al poner una función de javascript en el onmouseup del body se te ejecuta cuando el tipo pincha el botón (y lo suelta, claro) y no quieres que se ejecute. Es asi, no?
¿Has pensado poner el onmouseup en el applet en vez de en todo el documento? No tendrías esto colgado en algún sitio que lo pueda ver, ¿no? Así me haría una mejor idea...
Si en principio me gustaría poner el onmouseup en applet pero que se ejecute solo cuando el usuario haya pinchado ese botón.
Actualmente no lo tengo colgado en ningún sitio pero si quieres te puedo mandar la aplicación pol mail.
mi mail es [email protected]
Lo que puedes hacer entonces es poner un flag, un booleano que se ponga a true cuando el botón este pinchado (y quieras que se ejecute lo del mouseup) y a false en caso contrario.
La función que se ejecute con el onmouseup mira antes que nada ese booleano y si no esta a true no hace nada.
Respuesta
1
Creo que sera dentro del applet donde tienes que llamar a la función javascript cuando acabe de arrastrar.
Para llamar a una función javascript dentro de un applet se hace con
import netscape.javascript.JSObject;
JSObject m_oJavaScript = JSObject.getWindow(this)
m_oJavaScript.call(nombre_funcion_javascript, new String[] {valor1, valor2,...});
Muchas gracias, perdón por el retrazo pero es que estuve unos días fuera. Una pregunta donde debo colocar ese código, ¿en el frame que tiene el botón o en el frame que contiene el applet? ¿Si utilizo explorer también funcionaría?
Saludos,
Bolo
Perdón por el retraso, es que he estado de vacaciones.
Esto debes meterlo en el frame del botón del applet.
Si, no importa el navegador, no te preocupes.
Perdón por el retraso, es que he estado de vacaciones.
Esto debes meterlo en el applet.
Si, no importa el navegador, no te preocupes.
Respuesta
Realmente mi especialidad no es Java sino JavaScript pero voy a ver que puedo hacer.
Atentamente. Manuel Fernández.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas