我想這很簡單,但不能讓我的語法工作。如何在jquery中延遲調用自定義函數
我創建了一個函數,顯示帶有用戶信息的彈出框,名爲'displayUserinfo'(有很多代碼,所以我想沒有必要粘貼它)。當用戶點擊$('.avatar')
類,函數啓動:
$('.avatar').on('click', displayUserinfo);
而這部分工作perfctly。現在我想添加代碼,當用戶將鼠標懸停在$('.avatar')
上2秒鐘時,將啓動相同的功能,但這是功能未啓動的地方(console.logs用於測試它是否正常工作,它們都是如此):
var timer;
var delay = 2000;
$('.avatar').hover(function() {
console.log('test1');
timer = setTimeout(function() {
console.log('test2');
$('.avatar').displayUserinfo;
}, delay);
}, function() {
clearTimeout(timer);
console.log('test3');
});
我試過$(this).displayUserinfo
,但也沒有工作。
有誰能幫我一下嗎?
Apropos不是很好,我不能*站*所有這些東西,當我只是移動我的鼠標(或停止移動它兩秒鐘)彈出。請等待我點擊。 (我在看着你,谷歌,以及你在Gmail中愚蠢的18種不同懸停彈出窗口,還有你,微軟,以及Windows 7和8中真正糟糕的任務欄懸停行爲。) –
哈哈,好吧,我會考慮這個評論,可能是一個有效的,因爲筆記本電腦正在轉向觸摸屏。儘管如此,我想學習如何使這個東西工作 – Pejs
是的,關於觸摸屏的好點! –