J'ai un énorme problème.Prévenir les bulles après le chargement?
Je vais avoir un div nommé « #box » qui charge du contenu externe après avoir cliqué sur les liens qu'il contient:
$("#box a").click(
function(e)
{
e.preventDefault();
var hash = this.parentNode.hash;
$("#boxLoaded").load('boxFiles/'+ hash.substring(1) +'.html');
$("#box").fadeOut(100);
$("#boxLoaded").fadeIn(200);
});
facile jusqu'à présent :)
Lorsque quelqu'un clique ne importe où dans « #boxLoaded » il disparaît et charges boîte à nouveau, il ressemble au début:
$("#boxLoaded").click(
function()
{
$("#boxLoaded").fadeOut(200);
$("#box").show();
});
le problème est que j'ai un menu nommé « boîte-menu » dans les fichiers chargés (à l'intérieur de #boxLoaded) et quand quelqu'un cli cks les - le code ci-dessus est en train d'être exécuté (effacement de #BoxLoaded et #Box).
Je veux l'empêcher de se produire, mais:
$("#box-menu").click(
function(e)
{
e.preventDefault()
});
Que faire? Il fonctionne très bien, quand je ne suis pas le chargement() ces fichiers ...
Auch. Je suis enfin capable de faire quelque chose avec ce menu en utilisant jQuery (votre sélecteur fonctionne parfaitement et je suis capable de changer les bordures/arrière-plans etc.), MAIS le stop stil de propagation ne fonctionne pas. Qu'est-ce qui ne va pas?
@fomicz - Utilisez-vous '.live()' ou re-binding? Selon l'ordre que vous voudrez peut-être redéfinir pour être sûr, sinon l'ordre des bindings peut avoir de l'importance (ils s'exécutent dans l'ordre), donc vous devrez peut-être passer à '.delegate()' et le lier en premier. –
La première méthode ne fonctionne pas, mais la seconde le fait. Brillant! Tu es là tout le temps, n'est-ce pas U une sorte de bot Nick? ;) – fomicz