我在我的HTML文件頂部的<script>
標記中有此代碼。jQuery中的函數範圍
$(document).ready(function()
{
$('#scrollbar1').tinyscrollbar();
$('a.jqtree_common').click(updateScrollbar());
});
$(function updateScrollbar()
{
var oScrollbar = $('#scrollbar1');
oScrollbar.tinyscrollbar();
oScrollbar.tinyscrollbar_update();
$('a.jqtree_common').click(updateScrollbar());
});
但由於某些原因,當我運行它,它說updateScrollbar()
是內(document).ready
不確定的。當我嘗試在(document).ready
內部定義updateScrollBar()
時,updateScrollBar()
會陷入某種無限循環。
我的問題是雙重的:
- 我能做些什麼,以使
(document).ready
範圍內定義updateScrollBar()
? - 有沒有更好的方法將這個函數分配給
'a.jqtree_common'
元素?它們在運行時動態創建,並在使用網頁時進行修改。我希望函數每次點擊其中一個時就運行。
編輯:我想提出的$('a.jqtree_common').click(updateScrollbar);
分配每滾動更新時,因爲我相信'a.jqtree_common'
元素上單擊創建更'a.jqtree_common'
元素。
只是刪除了'$('和')'周圍的功能。 DOM不需要準備好聲明該函數。 – Paulpro
當使用事件綁定時,該函數不需要(),或者當瀏覽器讀取該行時將被調用。 –
@caps我們必須使用這個'.on('綁定動態元素的函數 –