2009-08-10 7 views
0

J'utilise les éléments suivants plug-in jQuery, à savoir:ByPass jQuery plug-in Surclic Fonction

http://flowplayer.org/tools/scrollable.html

La question que j'ai est cependant que, dans le cadre de l'appel à l'api, il semble nous faire de la fonction onClick() dans le fichier plug-in js.

Je veux vraiment utiliser la fonction onClick que votre fonction normale javascript onClick() mais je ne suis pas en mesure comme il semble être remplacé par le code suivant:

   // assign onClick events to existing entries 
      } else { 

       // find a entries first -> syntaxically correct 
       var els = nav.children(); 

       els.each(function(i) { 
        var item = $(this); 
        item.attr("href", i); 
        if (i === 0) { item.addClass(conf.activeClass); } 

        item.click(function() { 
         nav.find("." + conf.activeClass).removeClass(conf.activeClass); 
         item.addClass(conf.activeClass); 
         self.setPage(item.attr("href")); 
        }); 

       }); 
      } 

     }); 


     // item.click() 
     if (conf.clickable) { 
      self.getItems().each(function(index, arg) { 
       var el = $(this); 
       if (!el.data("set")) { 
        el.bind("click.scrollable", function() { 
         self.click(index);  
        }); 
        el.data("set", true); 
       } 
      });    
     } 

Y at-il de toute façon de contourner cela, donc que je peux utiliser la fonction onClick() autonome?

+0

J'ai mis à jour ma réponse avec le code. Vous pouvez le vérifier. – Kirtan

+0

Oui. C'est la fonction 'removeitem'. – Kirtan

Répondre

1

semble qu'ils ont pas donné une fonction callback de rappeler à. Vous pouvez modifier leur code JS pour le faire -

item.click(function() { 
    nav.find("." + conf.activeClass).removeClass(conf.activeClass); 
    item.addClass(conf.activeClass); 
    self.setPage(item.attr("href")); 
    if(typeof(clickCallback) != "undefined") clickCallback(); 
}); 

Donc, si vous avez une fonction appelée clickCallback définie sur votre page, vous allez maintenant être en mesure de gérer l'événement clic après leur code d'événement de clic a été exécuté -

function clickCallback() { 
    //This is the function on your page. This will be called when you click the item. 
} 

Vous ne devez pas appeler la fonction clickCallback, la bibliothèque elle-même appeler cette fonction si son été définie.

+0

Merci pour ce Kirtan mais je ne sais toujours pas comment utiliser/appeler la fonction clickCallback? Au moment où j'utilise la fonction onClick comme onClick = "removeitem();" mais le code ci-dessus prend le dessus. Que fais-je avec clickCallback? – tonyf

+0

Merci pour votre réponse - donc en fonction de votre fonction clickCallback, c'est en fait ma fonction removeitem() à la place de votre fonction clickCallBack - oui? – tonyf

1

Vous pouvez définir votre propre gestionnaire d'événements de clic et arrêter la propagation de l'événement.

$('your selector').click(function (e) { 
    e.stopPropagation(); 
});