¿Es posible enviar aEvent () un clic del mouse a un elemento <input type = text>?

Básicamente, estoy tratando de enviar un evento de clic del mouse hecho a medida a un elemento de input de text usando el siguiente código (vea este jsFiddle ):

function simulateClick(id) { var evt = document.createEvent("MouseEvents"); evt.initMouseEvent("click", true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null); var cb = document.getElementById(id); cb.dispatchEvent(evt); } 

Cuando ejecuto ese código en un elemento type="checkbox" funciona perfectamente bien, pero no funciona en absoluto cuando se invoca un elemento type="text" .

Ahora aquí está la definición de initMouseEvent() en MDN:

 event.initMouseEvent(type, canBubble, cancelable, view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget); 

Por lo tanto, en el ejemplo screenX, screenY, clientX y clientY serían todos 0 (sin embargo, el código anterior funciona perfectamente bien con casillas de verificación, independientemente de su position). Traté de capturar un evento real y pasar las coorderadas de la pantalla y del cliente al evento cusom made, sin éxito.

Pensé que tal vez los elementos de input de text ignoraran los events de mouse personalizados por razones de security, pero entonces element.focus() tampoco debería funcionar, lo que hace.

¡Cualquier idea o idea sería muy apreciada!

Por lo que puedo decir, tu código funciona bien. Sin embargo, no enfoca el campo de input como puede pensar, pero el evento se dispara en el campo de input, como se ve en este violín: http://jsfiddle.net/ENvZY/

Nota: el código no es compatible con crossbrowser, pero falla en ie8.

Considere utilizar una buena biblioteca de marcadores cruzados como jQuery en lugar de seguir el path DOM nativo: la rueda existe y funciona a la perfección, redevisela es una pérdida de time 🙂