2012-05-24 35 views
0

有人能告訴我爲什麼數組索引在第5行使用下面的代碼? '#agree'是指複選框,'#terms'是指文本框。其目的是確定用戶是否已經滾動到文本框的底部,然後可以單擊複選框。謝謝。jquery語法 - 爲什麼需要一個帶有文本框的數組索引?

$(document).ready(function() { 
    $('#agree').attr('disabled', 'disabled'); 

    $('#terms').scroll(function() { 
    var textarea_height = $(this)[0].scrollHeight; 
    var scroll_height = textarea_height - $(this).innerHeight(); 

    var scroll_top = $(this).scrollTop(); 

    if (scroll_top == scroll_height){ 
     $('#agree').removeAttr('disabled'); 
    } 
    }); 
}); 
+0

zerkms回答,但是你可以通過var h = $(this).prop('scrollHeight')獲得值 –

回答

2

這是因爲scrollHeight是一個DOM元素屬性。

所以$(this)是一個jQuery對象,$(this)[0]是一個DOM元素在它下面(你也可以使用.get(0)代替[0]

this.scrollHeight - 這應該是一樣$(this)[0].scrollHeight

相關問題