Javascript, tontería que no sabrás

newfag

Buenos días currantes,

Resulta, que toda la vida, para estar a la escucha del evento "presión del click del mouse"(sin tener que ser un click completo, solo apretar sin levantar el dedo) se ha utilizado el evento 'mousedown' ¿cierto?

Pues hago esto y no me devuelve el console.log hasta que no levanto el click

$(document).bind('mousedown',(e)=>{
	let triggerMousePosX = e.pageX;
	console.log('Works')
}

¿Qué coño estoy haciendo mal?

1 comentario moderado
Lord_Khronus
$(document).bind('mousedown',(e)=>{
	let triggerMousePosX = e.pageX;
	console.log('Works')
})

Te falta el parentesis de cerrar en el codigo.

Y el codigo funciona sin problemas en mousedown

4 1 respuesta
newfag

#3 El console log lo devuleve cuando se levanta el click no cuando se apreta

Lo del paréntesis ha sido por el copia y pega

1 respuesta
1 comentario moderado
Lord_Khronus

#4 Testeandolo a mi me funciona perfecto, he probado con mousdown, mouseup y con click.

1 respuesta
newfag

#6 A ti el console log te lo devuelve nada mas pulsas el click o al levantarlo?

1 respuesta
Lord_Khronus

#7 Con el mousedown, nada más pulsar.

1 respuesta
eXtreM3

Funciona sin problema y también he probado el evento mouseup.

newfag

#8

$(document).bind('mousedown',(e)=>{
	mousedownPosX = e.pageX;
	console.log(mousedownPosX); 
});

¿Esto te devulve el valor mousedownPosX nada mas pulsar o tras levantar el click?

No entiendo que está ocurriendo

1 respuesta
eXtreM3

#10 devuelve el valor nada más pulsar con el botón izquierdo, sin levantar.

1 1 respuesta
newfag

#11 Así debería funcionar, a mí me lo devuelve al levantar, es espectacular, he probado incluso con otra versión de jQ

Algo tengo mal entorno a ese fragmento de código

1 respuesta
1 comentario moderado
Nedaim

#12 En que navegador estas probando?

1 respuesta
newfag

#14 Estoy probando en Chrome, descarto navegador, si pruebo el mismo código en un entorno local sin Wordpress de por medio funciona como tiene que funcionar, aún estando en Chrome.

Descarto también que sea cualquier otro fragmento de código del archivo en cuestión que esté alterando el funcionamiento normal del evento 'mousedown', dado que he probado solo con ese fragmento de código en el archivo y sigue funcionando igual(es decir, malamente).

1 respuesta
S

Puede que tu dispositivo este roto, ese código funciona te lo han dicho ya varias personas. Eso o algún conflicto con otro script.
Edit: #15 Al final el problema va a ser usar jquery, bien moderado el #2

2 respuestas
newfag

#16 Sí, tiene la pantalla rota, quizás es eso

1 respuesta
S

#17 Tu ratón.

1 respuesta
newfag

#18 suponía que te referías a eso, es el entorno, he probado en un entorno local de pruebas y sin problemas. En el entorno que me da el problema no he encontrado solución todavía

Por otro lado, que alternativa propones a jQ? Escucho

1 respuesta
Leos

#19 Vanilla javascript si no quieres liarte con nada más grande xdddd

1 respuesta
newfag

#20 y teniendo una carga tan ligera como la que tiene jQ ¿por qué iba a dejar de utilizarlo? ¿Qué es algo más grande?

1 respuesta
Leos

#21 Porque javascript vanilla te añade 0 carga y ya te hace todo lo que te hace jquery pero viendo tus comentarios usa jquery no problem, hay gente a la que le gusta usar cosas que estan más que muertas

1 respuesta
newfag

#22 Pero como va a estar muerto si Wordpress vanilla ya lleva jQ alma de cántaro...

Me gusta sobreoptimizar y le daré un try a js vanilla, pero no digas chorradas

1 respuesta
eXtreM3

jQuery es Jesucristo cuando tienes que hacer un fix random en Wordpress en 2 minutos porque el maquetador de turno o los que hayan montado el wordpress no saben arreglar xd

2 comentarios moderados
B

Yo uso jquery... prefiero:
$('div').text("hola");
que...
document.querySelectorAll("div").forEach(elem => { elem.textContent = "hola" });

O tener un

<span id="test" data-test='["my","test"]'>

y poder hacer:
$('#test').data('test') y tener un array en vez de JSON.parse(document.getElementById('test').dataset.test)

poder hacer "closests"... recorrer hacia arriba o hacia abajo en la búsqueda.... todas esas pequeñas ayudas yo las agradezco.

Es como plantearse usar IndexedDB directamente o Dexie.... nada más pruebas dexie lo sabes xD

Leos

Lo que me faltaba por leer, venga vamos a añadir una biblioteca que añade peso innecesario al proyecto que además es menos performance, para ahorrarte 3 palabras.

Javascript vanilla es la api nativa, es más performance y es el estandar.

2 respuestas
B

#28 Son 70KiB ... tampoco es un drama. Pero si, sin duda ir a pecho descubierto siempre sera mejor en rendimiento en tanto en cuanto no te vayas a implementar algo que esté mejor implementado en jQuery... es una librería con un bagaje detrás y tendrá bien refinados los algoritmos.
Otro aspecto es el de pelearte con compatibilidad de navegadores... aunque poco a poco ese "gap" está ya casi resuelto.

Otro asunto interesante es el de la "portabilidad".... ¿es lo mismo aprender como has implementado las cosas en tu proyecto que ya saber como funciona jQuery y que invocar para obtener lo que quieres? Todo tiene su punto positivo y su punto negativo.

Y para finalizar... ¿porque en este gremio por internet se va a degüello con "eso es una mierda!"? En persona la gente no es tan radical joder... xDD
os estáis adesusando... no es sano, ni ayuda a una convivencia medio normal.

Jastro

Que capacidad teneis para liarla y desviaros del tema. Voy a volver a cortar de raiz, a ver si a base de usar la tecnica del disco rayado, nos lo aprendemos.

El usuario esta preguntando una cosa especifica de un codigo, a la gente que le apetece, le ofrece su ayuda y le guia sobre como solucionar su problema, si no os interesa, lo dejais estar.

Si el usuario, postea un codigo con Jquery, a dia de hoy todo el mundo sabe que es una libreria de mierda, considero que si la persona la usa, sus motivos tendra, ya sea por comodidad, o por ignorancia, nuestra aportación, no es hacerselo ver en cada post, (si tal por privado). Por eso, he moderado #2 entre otros, #16

Si quereis, se puede abrir un hilo debatiendo sobre porque usar o no usar jquery y ahi, podeis explayaros tanto como querais, pero ahora mismo, lo unico que estas haciendo es vertiendo mierda y desviando el hilo.

Edit: #31 no dudo que aprendas, pero no viene al caso.

1