Yii renderpartial (proccessoutput = true) Eviter la requête js Duplicate

Im la création d'un site qui fonctionne avec ajaxRequest, lorsque je clique sur un lien, il vous permettra de charger à l'aide de ajaxRequest. Lorsque je charge par exemple l'utilisateur/login UserController actionLoginj'ai renderPartial la vue avec processOUtput true donc, la js nécessaire à l'intérieur de ce point de vue sera généré, cependant si j'ai clientScriptRegister à l'intérieur de ce point de vue, avec les événements, comment puis-je éviter de générer de la scriptRegistered deux ou plusieurs en fonction de la ajaxRequest? J'ai essayé Yii::app()->clientScript->isSCriptRegistered('scriptId') pour vérifier si le script est déjà enregistré, mais il semble que si vous avez utilisé ajaxRequest, le résultat est toujours fauxcar il ne sera vrai après que le rendu est terminé.

Contrôleur de code

if (Yii::app()->request->isAjaxRequest)
{
   $this->renderPartial('view',array('model'=>$model),false,true);
}

Afficher Le Code

if (!Yii::app()->clientScript->isScriptregistered("view-script"))
   Yii::app()->clientScript->registerScript("view-script","
      $('.link').live('click',function(){
         alert('test');
     })
");

Si je demande pour le contrôleur pour la première fois, il fonctionne parfaitement (alerte 1 fois), mais si je demande de nouveau pour le même contrôleur sans actualiser ma page et juste à l'aide de ajaxRequest, l'alerte de sortie deux fois si vous cliquez dessus (parce qu'il garde sur la génération même si vous avez déjà enregistré une fois)

C'est la même chose si vous avez CActiveForm à l'intérieur de la vue avec la fonction jquery.. le corescript yiiactiveform sera appelée à chaque fois que vous renderPartial.

source d'informationauteur butching