2013-06-04 25 views
1

時,我有以下代碼:TypeMismatchError:DOM異常17調用函數

if (nav == null) { 
     nav = window.navigator; 
    } 
    var geoloc = nav.geolocation; 
    if (geoloc != null) { 
     watchID = geoloc.watchPosition(this.updatePosition(), this.locationNotFound()); 
    } 

當這個代碼執行我得到一個錯誤:

Uncaught Error: TypeMismatchError: DOM Exception 17 

如果我嘗試撥打以下到位的watchId = ...我得到了同樣的錯誤:

geoloc.watchPosition() 

今天晚上的編碼會議會這麼好....


看來,我沒有重新調用函數,而是在這些情況下調用函數。如何在這種情況下正確調用函數?

+2

做'this.updatePosition()'和'this.locationNotFound()'真的*返回*功能?或者你只是混淆了「傳遞函數」與「調用函數」? – DCoder

+0

認爲我可能不會返回函數.... – CLiown

+0

不返回一個函數,我該如何處理這個正確? – CLiown

回答

2

這是因爲你沒有提供回調。以下是一個示例:

watchID = geoloc.watchPosition(function(position) { 
    console.log(position.coords.latitude, position.coords.longitude) 
}); 

請參閱documentation here

+0

爲什麼downvote在這裏?而對於OP,我的回答中還不清楚? –