2010-04-23 8 views
1

J'ai une page Web en utilisant jquery 1,42délégué JQuery ce qui peut l'amener à ne pas fonctionner

Les 2 segments de code suivant vivre dans ma page.

$('body').delegate('h2', 'click', function() { 
    $(this).after("<p>delegate paragraph!<\/p>"); 
}); 

$('body h2').live('click', function() { 
    $(this).after("<p>live paragraph!<\/p>"); 
}); 

La méthode live fonctionne toujours, mais le délégué ne se déclenche pas du tout.

Si je crée une page triviale avec HTML simple

<body><h2>blah</h2></body> 

les deux approches de travail. Donc, je suppose qu'il y a quelque chose d'autre qui se passe dans ma page.

Avec firebug je ne vois pas d'erreurs javascript, pas d'erreurs html. et les points d'arrêt sur la méthode de délégué ne sont certainement pas touchés. Quoi d'autre pourrait être la cause du délégué ne pas déclencher?

EDIT: Heres la liste des autres scripts sur la page:

<script type="text/javascript" src="/Scripts/jquery-1.4.2.js"></script> 
<script type="text/javascript" src="/Scripts/2010.1.416/telerik.common.min.js"> </script> 
<script type="text/javascript" src="/Scripts/2010.1.416/telerik.textbox.min.js"></script> 
<script type="text/javascript" src="/Scripts/2010.1.416/telerik.grid.js"></script> 
<script type="text/javascript" src="/Scripts/2010.1.416/telerik.grid.filtering.min.js"></script> 
<script type="text/javascript" src="/Scripts/2010.1.416/jquery.validate.min.js"></script> 
<script type="text/javascript" src="/Scripts/2010.1.416/telerik.grid.editing.min.js"></script> 
+0

http://jsbin.com/akeyo/2/edit fonctionne bien pour moi. – jAndy

+0

Mon problème est le délégué ne fonctionne pas. Je souhaite utiliser .delegate() sur .live() mais je ne peux pas obtenir de délégué à déclencher dans une page non triviale. Donc, y a-t-il autre chose qui pourrait faire en sorte que le délégué de jquery cesse de fonctionner est finalement ma question. – Jafin

Répondre

2

Il semble que le jeu d'outils que j'utilisais, Telerik contrôle ASP.NET MVC 2010.1.416 avait une référence à jquery.validate.min .js

la version du fichier qu'ils expédient est 1.5.5

Mise à jour cette version 1.7 et délégué travaille à nouveau comme prévu.

/smack.

+3

ne pas oublier de marquer cela comme la bonne réponse. Bon travail pour trouver la solution. –

Questions connexes