2012-04-03 36 views
7

Necesito encontrar una manera de pasar los eventos de clic de un div en la parte superior al div debajo de él (e ignorar los clics en el div superior). Existe una forma conocida de simular el evento click y pasarlo al otro div, pero este no es un comportamiento natural y la opción menos buscada.¿Cómo pasar eventos de clic de un div a otro?

Parece que burbujea caso no ayudará aquí desde el div en la parte superior no está contenida en la de abajo ..

Alguna idea?

aquí es un ejemplo jsFiddle:

http://jsfiddle.net/QKjUx/

Si se quita la "superposición" div, puede hacer clic en cualquiera de los elementos. Mientras está allí, no puedes. Es posible pasar el evento al siguiente div, sin embargo, la posición es importante; puede haber un enlace en el que quiero que el usuario pueda hacer clic.

+0

Es una buena pregunta, por lo que 1, pero necesitamos más información para responder a esta. Verifique mi respuesta, ¿recibí su pregunta? – Starx

Respuesta

1

Puede disparar el evento click en un div, haciendo clic en otro div.

Puede crear un evento como un evento de clic

//A function to fire an event 
function eventFire(el, etype){ 
    if (el.fireEvent) { 
     el.fireEvent('on' + etype); 
    } else { 
     var evObj = document.createEvent('cClick'); 
     evObj.initEvent(etype, true, false); 
     el.dispatchEvent(evObj); 
    } 
} 

var div1 = document.getElementByID("firstDiv"); //find the first div 
div1.onClick = function() { //attach a onclick event 
    //Now select the element and fire the event 
    var div2 = document.getElementById("seconddiv"); //select the second div 
    eventFire(div2, 'click'); //fire the click event 
}; 
+1

y en jquery $ ('# firstDiv'). Haga clic en (función() {$ ('# seconddiv'). Haga clic en()}) – commonpike

0

¿Necesita la estructura div para rendir propósitos? - Estoy pensando que podrías establecer tu primer div para que se muestre en línea, luego flotar los otros divs dentro de él para que el div externo tenga 0 de altura y entonces podrías hacer clic en cada div individual dentro de él.

Cuestiones relacionadas