所以我正在尝试做一些动态悬停操作,这需要this
在 jquery 中使用。由于某种我无法弄清楚的原因,javascriptsetTimeout
函数似乎不支持它。
我知道该setTimeout
函数不是 Jquery,但如果放在 Jquery 函数中,它不应该能够响应相关this
吗?
这是一些示例代码:
var go = false;
var t;
$('.box').mouseenter(function(){
t = setTimeout(function(){
go = true;
alert($('span',this).text());
},1000);
});
$('.box').mouseleave(function(){
clearTimeout(t);
if(go){
alert($('span',this).text());
}
});
当悬停 1 秒时,它会警告一个空白,但在 mouseleave 上它会警告正确的文本,即使两个警报都在具有相同选择器的 Jquery 函数内。
为什么会发生这种情况,我该如何解决?