当我尝试单击有问题的行并启动事件监听器时,我不断收到输出到Xcode控制台的调试错误代码。
错误消息已满(删除长文件路径以保持其清洁):
错误:TypeError:'undefined'不是file:///Users/....../index.js第1339行的函数
1339是显示的第一行代码块。
代码:
$("#contact-list").on("click", "a", function(event){
event.preventDefault();
var me = this;
console.log('The event listener is working');
var phoneNumber = me.attr('id').text();
console.log('phoneNumber is being sent');
if (phoneNumber.substr(0, 1) == '+') {
phoneNumber = me.userExitCode + phoneNumber.substr(1);
}
phoneNumber = phoneNumber.replace(/[^0-9]/g, '');
var data = {
'name': me.children('h3').val(),
'phone_number': phoneNumber,
'part': 'contact'
};
答案 0 :(得分:2)
var phoneNumber = me.attr('id').text();
不行。如果你的意图是抓住我的元素,
var phoneNumber = $(me).attr('id');
me
与$包裹在一起(因为me
是this
,jQuery期望$(this)
text()
函数调用,因为attr
本身会返回文本。 答案 1 :(得分:1)
你有JQuery吗?如果你的JQuery版本比1.7更新,那么“live”函数已被弃用为“on”。
从jQuery 1.7开始,不推荐使用.live()方法。使用.on()附加事件处理程序。旧版jQuery的用户应该使用.delegate()而不是.live()。
来源: