2011-11-08 6 views
2

J'ai une structure HTML comme ceci:événement JQuery manipulation

<div id="nav_holder" style="position:absolute;border-radius:400px;width:0px;height:0px;background-color:#460203;z-index:350px;"> 
<div id="inner_wrap"> 

</div> 
</div> 

Je suis en train dynamiquement un code html dans "inner_wrap"

var h_h=$("<h1 class='myh1'>"+$(txt).html()+"</h1>"); 
$("#inner_wrap").append(h_h); 
var linkkk=$(document).find("#txt1link").html(); 
$("#inner_wrap").append(linkkk); 

alors que tous les liens ont la classe css comme « showlink "

Je vous écris code suivant dans

$(document).ready(function(){ 
    $("#nav_holder").mouseenter(function(){ 
show=true; 
console.log("in_#nav_holder_mouseenter"); 
}); 
$("#inner_wrap").mouseenter(function(){ 
show=true; 
console.log("in_#inner_wrap_mouseenter"); 
}); 

$(".myh1").mouseenter(function(){ 
show=true; 
console.log("in_myh1_mouseenter"); 
}); 

$(".showlink").mouseenter(function(){ 
show=true; 
console.log("in_showlink_mouseenter"); 
}); 
}); 

Cependant, je suis incapable d'obtenir les événements pour .showlink et .myh1 quelqu'un peut-il me guider s'il vous plaît. Je suis nouveau à Jquery Consigner uniquement qui ont été imprimés était in_ # nav_holder_mouseenter in_ # inner_wrap_mouseenter

+1

Est-ce l'ordre dans lequel le JavaScript est exécuté? Pouvez-vous poster le fichier complet au lieu de seulement des pièces? – arb

+0

Votre structure html que vous avez collée n'inclut en réalité aucun des liens avec ces styles ou de nombreux autres éléments que vous utilisez avec jquery. Pouvez-vous résumer ceci à un cas de test entièrement exécutable et l'afficher sur jsfiddle.net? –

Répondre

5

Depuis .myh1 et .showlink sont ajoutés dynamiquement, utilisez en direct pour lier les gestionnaires d'événements

Essayez ceci:

$(".myh1").live("mouseenter", function(){ 
    show=true; 
    console.log("in_myh1_mouseenter"); 
}); 

$(".showlink").live("mouseenter", function(){ 
    show=true; 
    console.log("in_showlink_mouseenter"); 
}); 

Si vous utilisez jQuery 1.7 vous pouvez utiliser sur les méthodes/off pour éviter toute confusion/problèmes avec plusieurs styles de reliure comme ci-dessous:

$(".myh1").on("mouseenter", function(){ 
    show=true; 
    console.log("in_myh1_mouseenter"); 
}); 

$(".showlink").on("mouseenter", function(){ 
    show=true; 
    console.log("in_showlink_mouseenter"); 
}); 
+0

... ou '.on' si vous utilisez jQuery 1.7 – Blazemonger

+0

merci ça a fonctionné pour moi: D Je n'étais pas au courant de .live() .... merci beaucoup – chemestri