Ric*_*ich 6 javascript prototypejs dom-events
我有以下代码,但明确的超时不起作用,我不明白为什么,有没有人有任何想法?(使用Prototype框架)
谢谢
function foo() {
$("navigation").observe('mouseover',
function (event) {
clearTimeout(bar);
}
).observe('mouseout',
function (event) {
setTimeout(bar, 1000);
}
);
}
function bar() {
alert("hi");
}
Run Code Online (Sandbox Code Playgroud)
Dou*_*ner 19
您需要将结果存储setTimeout在变量中,并用于clearTimeout清除该变量,而不是函数:
var timer;
function foo() {
$("navigation").observe('mouseover',
function (event) {
clearTimeout(timer);
}
).observe('mouseout',
function (event) {
timer = setTimeout(bar, 1000);
}
);
}
function bar() {
alert("hi");
}
Run Code Online (Sandbox Code Playgroud)
由于该clearTimeout功能拍摄参数返回由setTimeout函数:
var t = null;
function foo() {
$("navigation").observe('mouseover',
function (event) {
if (t != null) clearTimeout(t);
}
).observe('mouseout',
function (event) {
t = setTimeout(bar, 1000);
}
);
}
function bar() {
alert("hi");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18856 次 |
| 最近记录: |