2013-07-01 4 views
0

У меня есть привязанный тег на изображении, которое вытаскивает меню с помощью jQuery. Когда пользователь нажимает на изображение, функция, которая вытягивает меню вверх, не привязана к изображению (поэтому они не могут щелкнуть его несколько раз и испортить конфигурацию всего). Я использую AJAX для отправки формы на странице, и мне бы хотелось, чтобы функция привязывалась к изображению только после успешного вызова Ajax.Функция пересылки для привязки тега после успешного вызова Ajax

Я видел другие подобные вопросы, но я не совсем понимаю, как именно это относится к тому, что у меня есть. Вот мой код jQuery. Я не прикладывая весь код, но давайте предположим, что вызов AJAX успешно (который в этот момент в коде):

$('.modify_alert').click(function(){ 
    $('.modify_alert').unbind('click'); 
    $('.modify_alert').addClass('submit_upgrade'); 

     //A BUNCH OF CODE HERE 


    //AJAX CALL FOR MODIFY ALERT 
    $('.modify_check').click(function(e){ 
     e.preventDefault(); 

     //post variables 
     //MORE CODE HERE 
     $.ajax({ 
      type: 'POST', // HTTP method POST or GET 
      url: 'ajax.php', //Where to make Ajax calls 
      dataType:'text', // Data type, HTML, json etc. 
      data:myData, //post variables 
      success:function(response){ 

      //REFORMAT UPON SUCCESSFUL AJAX CALL (REMOVED CODE FOR SIMPLICITY) 

      //TRYING TO REBIND THE FUNCTION HERE   
      $('.modify_alert').bind('click'); 

     }, 
     error:function (xhr, ajaxOptions, thrownError){ 
      alert('didn\'t work'); //throw any errors 
     } 
    }); 
}); 

Я полагал, что я мог бы просто привязать кнопку действия обратно к .modify_alert тега привязки после того как я его развязал. Думаю, я не могу этого сделать? Спасибо за вашу помощь. Я довольно новичок в AJAX, и я просто пытаюсь понять, как интегрировать все это вместе. Спасибо за вашу помощь!

+0

'$ (' ') modify_alert привязку (' щелчок'),' '<-' вы не передавая функцию, вы хотите связать. –

+0

@FelixKling, хорошо, что имеет смысл. Я думал, что могу просто привязать все соответствующие события щелчка к селектору .modify_alert, но я думаю, что нет. Я смущен тем, как именно я бы назвал эту функцию, назовите ее щелчком и затем перевяжите ее? – MillerMedia

ответ

2

При связывании или развязывание обработчик, вы должны указать обработчик:.

$('.modify_alert').click(function mdfclick(){ 
    $('.modify_alert').unbind('click', mdfclick); 
    $('.modify_alert').addClass('submit_upgrade'); 

    //A BUNCH OF CODE HERE 


    //AJAX CALL FOR MODIFY ALERT 
    $('.modify_check').click(function (e){ 
     e.preventDefault(); 

     //post variables 
     //MORE CODE HERE 
     $.ajax({ 
      type: 'POST', // HTTP method POST or GET 
      url: 'ajax.php', //Where to make Ajax calls 
      dataType:'text', // Data type, HTML, json etc. 
      data:myData, //post variables 
      success:function(response){ 

      //REFORMAT UPON SUCCESSFUL AJAX CALL (REMOVED CODE FOR SIMPLICITY) 

      //TRYING TO REBIND THE FUNCTION HERE   
      $('.modify_alert').bind('click', mdfclick); 

     }, 
     error:function (xhr, ajaxOptions, thrownError){ 
      alert('didn\'t work'); //throw any errors 
     } 
    }); 
}); 
+0

О да, это дает полный смысл. Мне нужно указать функцию. Я попробую это сейчас. – MillerMedia

+0

Совершенно, я соглашусь через 9 минут, когда это позволит мне. Спасибо! – MillerMedia

+0

Я рад, что это помогло :) – karaxuna

Смежные вопросы