2017-02-16 62 views
3

反應的功能,我需要從JQ功能做出響應的功能(this.clearMath())呼叫從JQ功能

$('.input-content').focus(
    function(){ 
     this.clearMath() 
    }) 

我有遺漏的類型錯誤:this.clearMath不是一個函數。我認爲這是由JQ引起的,認爲this.是對所選元素$('.input-content')的引用。

我對不對?以及如何區分反應this和jquery this能夠調用我的功能?由於

+0

'this'引用您當前的範圍。在這種情況下,你是對的,範圍是選擇器。我不確定你爲什麼要從jQuery調用React函數。這看起來不正確。就我而言,無法從jQuery調用React組件內定義的React函數。 – juancab

+0

你可以在jsfiddle中發佈你的代碼,以便更好地理解你想要做什麼嗎? – juancab

回答

3

你可以這樣做解決這個問題:

var _ = this; 
$('.input-content').focus(
function(){ 
    //this is still the input 
    _.clearMath() 
}) 

那麼你可以使用選擇之前,這種情況下,所以你可以訪問_在函數內部,它被稱爲closure

+0

它的工作原理。謝謝。 –