簡體   English   中英

JavaScript空引用錯誤

[英]JavaScript null reference error

我有下面顯示的一段代碼,應該選擇圖像對象列表中的第一個對象。 它運行時,大約有一半的時間出現錯誤:

TypeError: Cannot read property of mylist

我意識到發生這種情況是因為它試圖引用一個尚未被引用的對象。 基本上,頁面將加載,並且我想在JavaScript中調用此函數,但是,如果在引用列表之前運行此代碼,則會出錯。 這是我的代碼段:

window.onload = function () {
       try {
            var tnl = $find('mylist');


            tnl.selectFirstItem();
       }
       catch (exception) {
            alert(exception);
       }
}

tnl.selectFirstItem()

行是將錯誤拋出到catch塊的那一行。

因此,我的問題是,是否有一種方法可以迫使它等待直到已引用該對象“ tnl”?

謝謝!

var tnl = $find('mylist');

應該

var tnl = $('#mylist');

假設mylist是一個ID。

您正在使用查找錯誤。

首先獲取元素,然后使用它來查找子元素。 因此,您可以這樣做:

var container = $('.containerElement');
container.find('#mylist');

這是您要的“循環”。 但這仍然是錯誤的。 如果在$find('mylist');之后沒有分配tnl $find('mylist'); 返回,它將不會在以后分配。 $find調用可能會引發錯誤。

window.onload = function () {
  try {
    var tnl = $find('mylist');

    var timer = setInterval(function() {
      if (tnl) {
        clearInterval(timer); 
        tnl.selectFirstItem();
      }
    }, 1000);

  } catch (exception) {
    alert(exception);
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM