2010-09-14 44 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 2010-09-14 17:15:19

+0

@ user435216 - 对于第一个问题,是的,对于第二个......没有。$ .getScript()是一个异步操作,它在响应返回并且执行'success'回调时结束:) – 2010-09-14 17:20:10