0

js 代码在页脚中,当 div 不在页面上时,它会显示错误。这只发生在我使用$('id-of-the-div')not时$$('#id-of-the-div')。并且错误停止了孔脚本。

js代码

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



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

          alert('click');
        });

});

错误

Uncaught TypeError: Cannot call method 'addEvent' of null 
4

1 回答 1

1

元素引用返回一个对象或 null。如果为空,则不真实。您可以像检查当前上下文对象的任何属性一样检查它:

模式一:

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

// or 
if (!el) return;

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

模式 2,通过将事件分配给父元素来使用事件委托

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

});

模式 3:当没有项目时,集合不会迭代:

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

找不到时,上面根本不会调用 addEvent 。

模式 1 是最常见的

于 2012-10-10T15:38:26.883 回答