2017-08-03 104 views
0

我在教自己的java腳本/ jQuery和我正在寫一個範圍滑塊插件使用jQuery UI的Widget Factory + HTML5/CSS。我有一個方法moveLabel正在工作,但不像我所期望的那樣 - 我無法以我認爲我應該能夠的方式調用它。爲什麼這種方法不能像我所期望的那樣工作?

這工作:

self.on('mousemove', function(e) { 
    self.rangeslider('moveLabel'); 
}); 

我預計這個工作:

self.moveLabel(); 

有人能向我解釋的區別是什麼,爲什麼之前的作品,後者沒有(和/或指向我的消息來源)? This is the current CodePen

我也試圖將mousemove event into the method也沒有成功(要點)。

+1

第一個聲明第三方庫的函數'rangeslider()'帶有'moveLabel'作爲參數。現在你可以通過類對象'self'來調用這個功能。而在第二次嘗試中,你將'moveLabel'作爲一個函數處理,這個函數在庫類中不存在。 –

+0

@AlivetoDie所以'rangeslider('moveLabel')'寫得正確,還是有更適當的方式來寫這個? – Beepye

+1

由於它是第三方庫,它使用類的概念,所以他們使用的方式,如果完全罰款(因爲它必須被測試和操縱數千次,然後進入圖片)。就這樣使用。 –

回答

0

其工作的第一個代碼表示: -

用類概念的第三方庫。

它有功能rangeslider()它接受一個參數(將不同名稱)。

在您的代碼中,它需要moveLabel作爲參數。

現在您可以通過類對象self調用此函數。

而在你的第二個嘗試你是治療moveLabel()爲這是在庫類無處存在的函數。母雞它不起作用。

注意: - 經過數千次測試檢查和修改後,第三方庫進入畫面,所以我認爲沒有更好的方法來使用該函數/參數。因此,請與第一個本身。謝謝

相關問題