js代码位于页脚中,当div不在页面上时,它显示错误。只有当我使用$('id-of-the-div')
而不是$$('#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
答案 0 :(得分:1)
元素引用返回一个对象或null。如果为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是最常见的