Mootools:当元素/ div不存在时,如何停止显示和错误

时间:2012-10-10 11:23:34

标签: javascript mootools

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 

1 个答案:

答案 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是最常见的