2010-09-14 99 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