Tengo un elemento con un onclick método.Falso "clic" para activar un método onclick
Me gustaría activar ese método (o: falso un clic en este elemento) dentro de otra función.
¿Esto es posible?
Tengo un elemento con un onclick método.Falso "clic" para activar un método onclick
Me gustaría activar ese método (o: falso un clic en este elemento) dentro de otra función.
¿Esto es posible?
Si estás usando jQuery que puede hacer:
$('#elementid').click();
Una vez que haya seleccionado un elemento que puede llamar clic()
document.getElementById('link').click();
véase: https://developer.mozilla.org/En/DOM/Element.click
No recuerdo si esto funciona en IE, pero debería. No tengo una máquina de Windows cerca.
Funciona en todos los navegadores http://www.w3schools.com/jsref/met_html_click.asp – rahmanisback
No he utilizado jQuery, pero IIRC, el primer método mencionado no desencadena el manejador onclick
.
Llamaré directamente al método asociado onclick
, si no está usando los detalles del evento.
¡simplemente llame a "onclick"!
He aquí un ejemplo html:
<div id="c" onclick="alert('hello')">Click me!</div>
<div onclick="document.getElementById('c').onclick()">Fake click the previous link!</div>
Desafortunadamente esto no llenará el objeto del evento ... –
él no mencionó que quiere llenar un objeto de "evento" ... solo que quiere llamar al método. Además, no estoy seguro de qué objeto no estás hablando. – hasen
Toda mi lectura de hoy apuntó a usar .click(), usando .onclick() resolvió mi problema con safari 5.1.7 en win7 sin reconocer .click(). Chrome, FF, safari en iPad IOS6 todos reconocidos .click(). ¡Me volvía loco! Gracias hasen j PS $ ('elementid'). Onclick() funcionó con los otros navegadores por lo que no hay necesidad de excepción para Safari 5.1.7. No tengo idea sobre IE ya que hay tantos problemas que no puedo acercarme a este código para probarlo. Eso es por otro día. – Jim
Para decir, hay fireEvent() método. No sé si eso funciona para otros navegadores.
No veo una muestra simulateClick() allí. Por qué tenemos que copiar cosas aquí, porque las páginas cambian. – JosephK
Este es un ejemplo perfecto de dónde debe utilizar una biblioteca de JavaScript como Prototype o JQuery para abstraer las diferencias entre navegadores.
Podría estar malinterpretando su pregunta, pero, sí, esto es posible. La forma en que me gustaría ir sobre hacerlo es la siguiente:
var oElement = document.getElementById('elementId'); // get a reference to your element
oElement.onclick = clickHandler; // assign its click function a function reference
function clickHandler() {
// this function will be called whenever the element is clicked
// and can also be called from the context of other functions
}
Ahora, cada vez que se hace clic en este elemento, el código en clickHandler
ejecutará. Del mismo modo, puede ejecutar el mismo código llamando a la función dentro del contexto de otras funciones (o incluso asignar clickHandler
para manejar eventos activados por otros elementos)>
Probablemente tendría problemas si quisiera usar el "ev.target" dentro de este manejador de clics ... – daddywoodland
También puede intentar obtener el atributo onclick del elemento y luego pasar a eval. Esto debería funcionar a pesar del gran tabú sobre eval.Pongo un ejemplo a continuación
eval(document.getElementById('elementId').getAttribute('onclick'));
Esto funciona bien a menos que el script onclick haga referencia a algo que no se importa en el espacio de nombres del script. – ascotan
Si estás usando jQuery, es necesario utilizar la función .trigger
, por lo que sería algo así como:
element.trigger('click');
Usando javascript
que pueda disparador click()
y focus()
como el ejemplo siguiente
document.addEventListener("click", function(e) {
console.log("Clicked On : ",e.toElement);
},true);
document.addEventListener('focus',function(e){
console.log("Focused On : ",e.srcElement);
},true);
document.querySelector("#button_1").click();
document.querySelector("#input_1").focus();
<input type="button" value="test-button" id="button_1">
<input type="text" value="value 1" id="input_1">
<input type="text" value="value 2" id="input_2">
no hacer trabajos para activar el elemento html seleccione onclick caso de que las opciones desplegables de la selección, ¿por qué? –
$ ('# elementid'). Trigger ("click"); –