最近经常遇到一个问题,比如一个alert我只想让他在第一次点击的时候提示,不想他每一次点击都有用,这种用原生js要怎么做,我自己目前的方法比较傻,就是点击的时候赋值一次,这样下次点击就没用了,但是应该有更好的办法吧?
var c = 0;
function(){
if (c=0) {
c = 1;
alert();
}
}
最近经常遇到一个问题,比如一个alert我只想让他在第一次点击的时候提示,不想他每一次点击都有用,这种用原生js要怎么做,我自己目前的方法比较傻,就是点击的时候赋值一次,这样下次点击就没用了,但是应该有更好的办法吧?
var c = 0;
function(){
if (c=0) {
c = 1;
alert();
}
}
document.body.addEventListener("click", function(){
var isClick = false;
return function(){
if(isClick === false){
// ...do some thing
isClick = true;
}
};
}());
function once(fn, context) {
var result;
return function() {
if(fn) {
result = fn.apply(context || this, arguments);
fn = null;
}
return result;
};
}
// Usage
var canOnlyFireOnce = once(function() {
console.log('Fired!');
});
canOnlyFireOnce(); // "Fired!"
canOnlyFireOnce(); // nada
10 回答10.3k 阅读
4 回答8.6k 阅读✓ 已解决
7 回答10.7k 阅读
2 回答11.3k 阅读✓ 已解决
6 回答2.5k 阅读
5 回答4.2k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
原生js 新增了很多 dom 的操作 api, 其中就包含了只触发一次,现在这样写即可