$("#searchType").on('change', function() {
var selectionAction = {
All: loadAll(),
Competitions: loadAll("competitions"),
Clubs: loadAll("clubs"),
Teams: loadAll("teams")
};
var selection = $("#searchType").find('option:selected').val();
selectionAction[selection]
});
請參閱上面的代碼。這個想法是,當選擇等於我的對象的屬性之一,那麼相應的函數將被調用。Javascript:定義功能圖
例如當選擇等於Competitions
那麼我們將調用loadAll("competitions")
函數。
取而代之的是,當它進入onChange
功能,它調用所有功能。
我在這裏做錯了什麼?
無論何時在函數引用後面有'()',函數都會被調用。 'All:loadAll(),'調用函數'loadAll'並將返回值賦給屬性'All'。 – 2014-10-28 23:49:25