2010-09-14 2 views
1

Я использую следующий JQuery плагин, и он выполняется, когда есть щелчок действия на указанном элементе:Jquery выполнить заказ

http://www.andresvidal.com/labs/relcopy.html

Я также создал функцию щелчка для того же элемента, но я ожидал он должен выполнить после плагина. Однако это не так, функция щелчка всегда выполняет сначала, что вызывает проблемы.

Пожалуйста, проверьте мой код ниже, например, я новичок в jQuery, поэтому любые предложения/помощь действительно будут оценены!

$.getScript('../js/relCopy.js', function() { 

      $('#AddTable').relCopy({ 
       limit: 10, 
       excludeSelector: '.newListSelected' 
      }); 

$('#AddTable').click(function() { 
    do something here after relcopy has finished 
}); 

ответ

0

обработчики событий выполняются в том порядке, они были связаны, и так как обратный вызов от $.getScript() выполняется после загрузки, что сценарий, это связывание его click обработчика после ваших.

Так что заказ вы хотите вы должны связывать в порядке, вы хотите, это означает, что связывание вашего обработчика щелчка в функции обратного вызова, а также, как это:

$.getScript('../js/relCopy.js', function() { 
    $('#AddTable').relCopy({ 
    limit: 10, 
    excludeSelector: '.newListSelected' 
    }).click(function() { 
    //do something here after relcopy has finished 
    }); 
}); 
+0

Спасибо, работали отлично! Вы имеете в виду, что обратный вызов из $ .getScript() выполняется только после загрузки relCopy.js? Если это так, не следует ли закончить выполнение relCopy.js, прежде чем перейти к моему обработчику кликов? – user435216

+0

@ user435216 - Да для первого вопроса, нет для второго ... '$ .getScript()' является асинхронной операцией, она заканчивается, когда ответ возвращается и выполняет обратный вызов 'success' тогда :) –

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