Итоговый код выглядит так:

я проблема с обработчиком событий jquery после асинхронной обратной передачи на странице asp.net. Я читаюЭта тема - это хорошее решение, но мне нужна отдельная функция. Так что я используюплагин в маске jquery.

Мой код JS сейчас:

<script type="text/javascript">

jQuery(document).ready(function () {
  var control = $("#txtCustomerPhone");

  InitPhonePattern(this, control);

  var prm = Sys.WebForms.PageRequestManager.getInstance();
  prm.add_endRequest(InitPhonePattern(this, control));
 });

 function InitPhonePattern(sender, args) {
  $(args[0]).mask("+7 (999) 999-99-99", { completed: 
    function () {
    $('#btnCheckCustomerPhone').click();} 
  });

}
</script>

Как видите, маска была инициализирована 2 раза: в документе Ready () и после асинхронной обратной передачи (в endRequest ()). Но плагин маски не отображается после асинхронной обратной передачи.

Кто-то понимает проблему? Буду благодарен за помощь!

Ответы на вопрос(2)

Решение Вопроса

Хочу так сказать спасибоАристос за помощь и правильное направление! В вашем коде я исправил только эту строку:

jQuery(document).ready(Init);//direct transfer function not work;

Итоговый код выглядит так:

<script type="text/javascript">
     var prm = Sys.WebForms.PageRequestManager.getInstance();
     prm.add_endRequest(EndRequest);

     function EndRequest(sender, args) {
         Init();
     }

     $(document).ready(function () {
         Init();
     });

     function Init() {
         var control = $('#txtCustomerPhone');
         InitPhonePattern(control);
     }

     function InitPhonePattern(args) {
         $(args).mask("+7 (999) 999-99-99", { completed:
            function () {
                $('#btnCheckCustomerPhone').click();
            }
         });
    }

</script>

что jQuery (документ) .ready не запускается после панели обновления, поэтому вам нужно сделать свой endRequest из jQuery.

Попробуйте так:

<script type="text/javascript">
        var prm = Sys.WebForms.PageRequestManager.getInstance();    
        prm.add_initializeRequest(InitializeRequest);
        prm.add_endRequest(EndRequest);

        function InitializeRequest(sender, args) {      
        }

        function EndRequest(sender, args) {
             Init();
        }

        jQuery(document).ready(function(){Init();});

        function Init()
        {
          var control = $("#txtCustomerPhone");
          InitPhonePattern(control);        
        }

        function InitPhonePattern(args) {
            $(args[0]).mask("+7 (999) 999-99-99", { completed: 
            function () {
               $('#btnCheckCustomerPhone').click();} 
            });
        }
</script>
 Mikka31 мая 2011 г., 18:15
Аристос, спасибо - но теперь у меня следующая ошибка клиента: «Sys не определен»
 Mikka31 мая 2011 г., 18:27
К сожалению, для использования Sys.WebForms.PageRequestManager выше должно быть помещено ScriptManager - я исправил код в своем вопросе

Ваш ответ на вопрос