按钮点击触发的事件只生效一次 我就是我 2021-09-19 06:38 487阅读 0赞 朋友的一个面试题如下: 面试官问:写一个函数,使按钮点击触发的事件只生效一次??? 你: 。。。【往下看】 方法1: /** 方法1: 通过设置全局变量来控制 */ var oBtn = document.getElementById('btn') var isClick = false; oBtn.onclick = function() { if(isClick) { } else { //触发的函数体 console.log('111') isClick = true; } } 方法2: /** 方法2: 通过点击事件执行完,置空来控制 */ oBtn.onclick = function() { console.log('123') oBtn.onclick = null; } 方法3: /** 方法3: 通过闭包fn来控制 */ function once(fn) { var result; return function() { if(fn) { fn.apply(this, arguments) fn = null; } } } var callOnce = once(function() { console.log('js') }) oBtn.onclick = callOnce; # 原创不易,自由转载,保留出处 #
还没有评论,来说两句吧...