我收到的错误是
未捕获的TypeError:对象[object Object]没有方法'getElement'
所以请在javascript文件中引用我的代码
addnavbtn: function(){
if (!(Browser.ie && Browser.version < 9)) {
var jlevel0 = this.menu.getElement('ul.level0');
if(jlevel0){
var jmega = this.menu;
var jbutton = new Element ('div', {id:'js-megamenu-button', 'class': 'js-megamenu-button', html: 'Navigation', styles: { display: 'none'}}).inject (jmega, 'before');
jbutton.addEvent('click', function(e){
e.stop();
if(jmega.getStyle('display') == 'block'){
jmega.removeClass('active').setStyle('display', 'none');
jbutton.removeClass('active');
} else {
jmega.addClass('active').setStyle('display', 'block');
jbutton.addClass('active');
}
});
答案 0 :(得分:0)
this.menu应该在你的情况下'未定义'。在'this.menu'上发出提醒
答案 1 :(得分:0)
...所以在 之前 this.menu.getElement(...);
,写下console.log(this.menu);
,它会为您提供一个可以打开的项目,查看。你可以看到.getElement
是否可用,如果没有,为什么......
你也可以确保你没有将addnavbutton
作为回调,或者作为事件监听器,或作为函数的参数调用...... ...因为如果你做了这些中的任何一个事情(几乎完全相同),然后this
将指向window
,而不是您想要的对象。