¿Cuál es la mejor forma de incorporar el objeto de evento al usar setTimeout? Estoy usando jQuery para gestionar la normalización del modelo de eventos en todos los navegadores, pero no estoy seguro de cómo colocar el objeto 'e' en la función checkPos.llamada de función Javascript setTimeout con argumento de evento?
Mi código actual:
function MouseDownEvent(e) {
*snip*
timeoutID = setTimeout(checkPos(e), 500);
}
function checkPos(e) {
//function uses e on a timeout of 500ms
timeoutID = setTimeout(checkPos(e) }, 500);
}
Actualmente funciona una vez que el código ya que la función se llama en el evento MouseDown, pero nunca actualiza el objeto electrónico cuando el usuario mueve el ratón. La consola de error de JavaScript de FF también declara que se trata de una llamada a setTimeout inútil (¿falta de comillas alrededor del argumento?), Pero seguir ese consejo hace que falle por completo.
¿Cómo puedo obtener el argumento del evento 'e' de una llamada a setTimeout?
Editar: Se ha añadido en el código que vuelve a ejecutar las checkPos funcionan cada 500 ms
con su código, en realidad estás invocando '' checkPos' al llamar setTimeout' (debido a que el operador función de invocación '()') y pasando su valor de retorno a ' setTimeout'; ese valor probablemente no sea una referencia a una función, por lo que 'setTimeout' falla. –