2011-05-04 11 views
11

El problema es que cuando declaro un atributo de título para un elemento 'envoltorio', la información sobre herramientas aparece cuando el cursor cae dentro del elemento 'contenido' como bien. ¿Cómo evito que esto (herencia) suceda?HTML: detiene los elementos secundarios heredan el atributo [título] principal

<style> 
    #content{ margin:25px;} 
</style> 

<div id='wrapper' title='example'> 
    <div id='content'> 

    </div> 
</div> 

(que sólo quieren que la ventana de información se muestre entre los bordes del 'contenido' y los elementos de 'envoltura', en lugar de en ambos)

+1

Según esta fuente [link] (https://developer.mozilla.org/en/DOM/element.title) tiene que establecer el título interno DIV también, a un personaje blanco. De todos modos, tienes que hacer eso para Firefox. Desafortunadamente, no funciona bien en IE – mj82

+2

@ mj82 lamentablemente eso lleva a la información sobre herramientas en blanco que aparece en IE – Flash

Respuesta

5

No creo que esto es posible con CSS puro o HTML.

Una forma de piratear esto es usar el código del lado del cliente .. llanura básica JavaScript ejemplo:

window.onload = function() { 
    var oDiv = document.getElementById("content"); 
    oDiv.onmouseover = function() { 
     this.parentNode.setAttribute("old_title", this.parentNode.title); 
     this.parentNode.title = ""; 
    }; 
    oDiv.onmouseout = function() { 
     this.parentNode.title = this.parentNode.getAttribute("old_title"); 
    };  
}; 

Esto "claro" el padre div título al puntero del ratón sobre el contenido, y restaurar el título cuando el el mouse deja el contenido.

caso de prueba en vivo: http://jsfiddle.net/UASPZ/

+0

Gran idea, pero tuve que arañar toda la implementación ya que el mouse se disparaba más frecuentemente de lo esperado, debido a otros elementos dentro de #content. (Podría usar e.stopPropagation(); para cada uno, supongo. De todos modos, pensaré en it) – whamsicore

+0

@whamsicore lo siento, no pude ayudar más .. si necesita más ayuda con este sentimiento t gratis o preguntar :) –

+0

Funciona como un encanto:) – T4NK3R

4

que tenían el mismo problema. Descubrí que puedes evitar esto al darle a los elementos secundarios un título falso title=" ".

+0

Al menos esto funciona en Firefox 4;) Acabo de descubrir, que a Chrome no le gusta. Y Opera lo ignora por completo = ( – mightyplow

2

Mismo problema aquí.

Se descubrió que la especificación de title=' ' funciona para Chrome y FireFox pero muestra una herramienta molesta con un espacio en IE. title='' funciona para IE, pero Chrome y Firefox lo ignoran por completo, lo que muestra la información sobre herramientas de los padres.

¿No descubierto la manera de hacer en varios navegadores :(

Cuestiones relacionadas