2013-02-17 12 views
1

我有一個函數$.doSomething(),它執行一些操作,然後調用$('selector').function()的jQuery形式的其他函數。我不想$.doSomething()知道它的調用,這應該由用戶決定。將selector.method作爲參數,將其命名爲

我創建了JSBin一個小例子: http://jsbin.com/umonub/11/edit

是否有可能調用$('#foo').doStuff();存儲在一個函數對象,並把它作爲參數傳遞給函數,然後調用呢?

這裏的示例代碼(如果有人不能訪問JSBin或者被刪除那裏):

的script.js

$(document).ready(function() { 
    var callback = $('#foo').doStuff(); 
    $.doSomething(callback); 
}); 


$.extend({ 
    doSomething: function(callback) { 
    //do some stuff 
    //call the callback 
    } 
}); 


$.fn.doStuff = function() { 
    $(this).text("Stuff Done"); 
}; 

的index.html

<html> 
<head> 
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
    <script src="script.js"></script> 
</head> 
<body> 
    <p id="foo"></p> 
</body> 
</html> 

回答

4

當然,只要把$('#foo').doStuff()放在一個函數裏:

var callback = function() { 
    $('#foo').doStuff(); 
}; 
+0

...爲什麼我沒有想到這一點?謝謝! – MOnsDaR 2013-02-17 15:23:51

相關問題