2012-10-10 26 views
0

js代碼位於頁腳中,當div不在頁面上時顯示錯誤。這隻發生在我使用$('id-of-the-div')而不是$$('#id-of-the-div')時。錯誤停止了洞腳本。Mootools:當元素/ div不存在時如何停止顯示和錯誤

JS代碼

window.addEvent('domready', function() { 



    $('id-of-the-div').addEvent('click', function() { 

      alert('click'); 
     }); 

}); 

錯誤

Uncaught TypeError: Cannot call method 'addEvent' of null 

回答

1

的元件參考返回一個對象或空值。如果爲空,它將不會成真。通過指定事件的父元素

$('main').addEvent('click:relay(#otherid)', function(event, otherel){ 

}); 

var el = $('someel'); 
if (el) { 
    el.addEvent({ ... }); 
} 

// or 
if (!el) return; 

// or 
el && el.addEvent({ }); 

模式2,使用事件委派:你可以像你會檢查,對於當前上下文對象的任何屬性:

圖中的一

模式3:收藏不重複沒有項目:

$$('#someid').addEvent('click', fn); 

時不發現,上面將不會調用addEvent。

模式1是最常見的

相關問題