2010-04-13 7 views
1

J'ai un fichier .js qui a cette fonction en elle:Fonction non reconnu de jQuery

function showDialog(divID) 
{ 
    alert("got here"); 

    var dialogDiv = $(divID); 

    dialogDiv.dialog 
    (
     { 
      bgiframe: true, 
      modal: true, 
      autoOpen: false, 
      show: 'blind' 
     } 
    ) 

    dialogDiv.dialog("open"); 
} 

Et dans ma page ceci:

<script type="text/javascript"> 

    $(function() 
    { 
     $("input.invokeDialog").click.showDialog("#testDialog"); 
    }); 

</script> 

Je suis en train de comprendre pourquoi il ne reconnaît pas ma fonction showDialog. Est-ce qu'il n'est pas possible de le référencer avec le point comme je le fais? Ai-je besoin d'une fonction ou d'une syntaxe spécifique à jQuery pour savoir s'il s'agit d'une fonction jQuery ou n'y a-t-il pas une telle chose?

Répondre

1

Essayez ceci:

$(function() 
    { 
     $("input.invokeDialog").click(function(){ 
      showDialog("#testDialog"); 
     }); 
    }); 
+0

n'a pas fonctionné ... mais merci. – PositiveGuy

+0

Je reçois l'erreur ": expected" pour showDialog dans Visual Studio dans ASP.NET lorsque vous travaillez dans le balisage. – PositiveGuy

+0

Cela devrait fonctionner parfaitement. Pourriez-vous s'il vous plaît nous dire ce qui n'a pas fonctionné? Ne montre-t-il pas le dialogue? Et pourriez-vous poster toute la fonction showDialog. Il a été coupé. – Raja

2

Le problème avec click.showDialog("#testDialog") est que cela signifie que vous essayez d'appeler une fonction appelée showDialog qui fait partie de l'objet click. Vous avez défini la fonction showDialog comme une fonction flottante, de sorte que vous n'avez besoin de rien devant elle pour l'appeler.

Le code dans la réponse de Sarfraz devrait bien fonctionner pour ce que vous essayez de faire.

+0

alors comment recommanderiez-vous d'appeler des fonctions flottantes en dehors de la suggestion de Sarfaz? – PositiveGuy

0
<script type="text/javascript"> 

    $(function() 
    { 
     showDialog("#testDialog"); 
    }); 

</script> 

Que pensez-vous de cela?

+0

qui n'est lié à aucun élément DOM .. il ne sera jamais appelé. – PositiveGuy

+0

Ouais, je voulais l'accrocher au document en charge ... après avoir lu quelques autres commentaires, j'ai décidé que vous n'alliez probablement pas essayer celui-là. Alors laissez-le simplement pour voir quel commentaire vous avez ajouté. – jcolebrand

+0

Je pense que drachenstern essaye d'affiner si le problème se produit dans la liaison de l'événement click, ou dans l'appel de la fonction showDialog elle-même. Le $ dans ce cas est un synonyme de $ (document) .ready(). Il sera appelé dès que le chargement du document est terminé. Le code de votre question utilise la même syntaxe. :) –