的确是楼上说的 this 指向的问题。
insertMessageText("<i class='mui-icon icon-tongzhi'></i>正在为您转接人工服务,请稍候...",
function() {
var that = this;
setTimeout(function() {
$(that).remove();
}, 2000);
})
下面这样也可以
insertMessageText("<i class='mui-icon icon-tongzhi'></i>正在为您转接人工服务,请稍候...",
function() {
setTimeout(() => {
$(this).remove();
}, 2000);
})
这样还可以
insertMessageText("<i class='mui-icon icon-tongzhi'></i>正在为您转接人工服务,请稍候...",
function() {
setTimeout(function() {
$(this).remove();
}.bind(this), 2000);
})
问题就是因为你用function包裹了,里面的指向 windows 或者 undefined 了。
es6 方案就是箭头函数,老的方案就是 that 保存一下。
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…