当我尝试点击按钮时,我不确定为什么会收到此错误。
未捕获的TypeError:无法读取未定义的属性“on”
JSFiddle:https://jsfiddle.net/mm5crd3b/
由于
public static void main(String[] args) {
String str = "hello";
System.out.println(str);
char[] strchar = str.toCharArray();
int first;
int last = 4;
System.out.println("The reversed is: ");
for (first = 0; first < 5; first++) {
strchar[first] = str.charAt(last);
last--;
}
str = String.valueOf(strchar);
str = str.toUpperCase();
System.out.println(str);
}
答案 0 :(得分:2)
您正以错误的方式访问该物业,
bindEvents: function() {
this.cacheDom.submitAdd.on("click", addItem);
},
在查看代码时,我可以告诉cacheDom
是一个将submitAdd
作为属性包含在其中的对象。
此外,
item: {
text: this.inputAdd.value,
},
这部分代码无法按预期工作。您可以将其编写为解决问题的getter。
get itemText() {
return this.cacheDom.inputAdd.value,
},
答案 1 :(得分:1)
您的bindEvents方法有一些小改动
bindEvents: function() {
this.cacheDom["submitAdd"].on("click", this.addItem);
},
submitAdd是cacheDom对象中的一个键,因此您可以使用cacheDom而不是直接访问它们,addItem是对象实例的一部分,因此您可以使用它来访问它们。如果更改此设置,错误将消失。
答案 2 :(得分:1)
它与您的代码无关。这是Sizzle
/ Sizzle
版本中的错误。在你点击按钮之前就有错误了。
异常源是$(document).ready(function() {
(function() {
var itemTracker = {
// init
init: function() {
this.bindEvents();
},
// cacheDom
cacheDom: {
inputAdd: $('#inputAdd'),
submitAdd: $('#submitItem')
},
// item
item: {
text: this.inputAdd.value,
},
// Bind Events
bindEvents: function() {
this.cacheDom.submitAdd.on("click", this.addItem);
},
// Add item
addItem: function() {
console.log("test");
}
// Remove item
// Edit Item
// Complete Item
// Uncomplete Item
};
itemTracker.init();
})();
});
尝试初始化默认文档。
但你的代码也错了:) 我想你想要像这样(这里是点击工作的处理程序)
$(document).ready(function() {
var i = 0;
$('#tab tr').each(function() {
if(!(i++%2)) { // if(i % 2 == 0 and increment i as well
$(this).css('background','red');
}
});
});