JavaScript,onclick, Uncaught ReferenceError : FAVOURITES is not defined

标签 javascript onclick referenceerror

我有一个未捕获的ReferenceError:FAVORITES未定义(onclick),我不明白button.setAttribute(“onclick”,“ContactLoader.table”中的语法错误在哪里("+ 表 +")");

ContactLoader.table =
	function(table){
		ContactLoader.CURRENT_PATTERN = null;
		ContactLoader.CURRENT_TABLE = table;
		ContactLoader.CURRENT_LETTER = "A";
		ContactLoader.loadData();
	}

function generateSearchLetter(){
	
	var divSearch = document.getElementById("search");
	if(divSearch.lastChild.id === "search_name");
		divSearch.removeChild(divSearch.lastChild);
	
	var divSearchLetter = document.createElement('div');
	divSearchLetter.setAttribute("id", "search_letter");
	divSearch.appendChild(divSearchLetter);
	
	
	var divAllFav = document.createElement('div');
	divAllFav.setAttribute("class", "search_all_favourites");
	divSearchLetter.appendChild(divAllFav);
	
	var arr1 = new Array("ALL","FAVOURITES");
	
	for(var i=0; i<2; i++){
		
        var button  = document.createElement('div');
		
		var textNode = document.createTextNode(arr1[i]);
		button.appendChild(textNode);
		var table = button.textContent;
		
		button.setAttribute("class" , "letterAF");
		button.setAttribute("onclick", "ContactLoader.table(" + table +")"); 
		
		
		divAllFav.appendChild(button);	
	}
}

最佳答案

当您尝试将事件绑定(bind)到DOM元素时,这不是一个好主意使用setAttribute绑定(bind)点击事件。这种方法自多年前就已被弃用。 要将 click 事件绑定(bind)button 变量,最好替换为:

button.setAttribute("onclick", "ContactLoader.table(" + table +")"); 

button.addEventListener("click", function () {
   ContactLoader.table(table);
});

关于JavaScript,onclick, Uncaught ReferenceError : FAVOURITES is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35346211/

相关文章:

javascript - Jquery Sortable后如何更新多个td的Id

Javascript CSS 菜单边框/框阴影

javascript - 为什么我的 JS 函数没有定义,而包含该函数的文件已在页面页脚处被调用?

javascript - 如何通过多个 EJS 数据字段的 onClick 填充多个表单字段

Javascript - 如果变量未定义的条件

Javascript - 用函数替换回调,包括参数

javascript - 使用嵌套对象和数组时处理错误的正确方法

javascript - 数据表简单连接查询

javascript - 递归函数,维护全局计数器而不使用全局变量

javascript - 网页-button.onclick = func();与 <button onclick = "func()"?