javascript-JS无干扰事件的小问题,谢谢啦

问题描述

JS无干扰事件的小问题,谢谢啦
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<input value="点击0" type="button"/>
<input value="点击1" type="button"/>
<input value="点击2" type="button"/>
<input value="点击3" type="button"/>
<input value="点击4" type="button"/>
<input value="点击5" type="button"/>
</body>
<script type="text/javascript">
    var s=document.getElementsByTagName('input'); //获取整个网页的标签
    window.onload=function(){
        for(var i=0;i< s.length;i++){
            s[i].onclick=(function(num){
                return function(){show(num)}
            })(i)
        }
    };
    function show(num){
        alert("你好,请"+num+"号嘉宾领奖")
    }
</script>
</html>

里面有一段代码看不懂

  for(var i=0;i< s.length;i++){
            s[i].onclick=(function(num){
                return function(){show(num)}
            })(i)
        }

看不明白, 那个(i)为什么放到最后面,i的值怎么传给num的?

解决方案

表示还是看不懂啊, 那个(i)为什么放到最后面,i的值怎么传给num的?

解决方案二:

然并卵...自学太苦恼了. 得不到答案呐....= - -

解决方案三:

闭包的知识,有兴趣百度看看

解决方案四:

s[i].onclick=(function(num){
return function(){show(num)}
})(i)

当一个函数定义完,我们想立即调用怎么办?
function a(s){
alert(s)
}

在后面加上小括号,为了防止报错,给函数加上运算符或者无实意的括号,比如:
+function a(s){
alert(s)
}(3)

(function a(s){
alert(s)
})(3)

(function a(s){
alert(s)
}(3))

解决方案五:

传值给闭包,也学习了一下

解决方案六:

有关js的小问题
JS中的小问题
js编码小问题

解决方案七:

闭包的知识,最经典的例子

解决方案八:

作用是传值给闭包,很简单

时间: 2024-12-02 05:54:25

javascript-JS无干扰事件的小问题,谢谢啦的相关文章

javascript-用JS改滚动条数值的小问题,谢谢了

问题描述 用JS改滚动条数值的小问题,谢谢了 这段代码测试了没有bug <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <style type="text/css"> .main{width:100%; height:3000p

javascript-JS里全局全局变量的小问题,谢谢啦

问题描述 JS里全局全局变量的小问题,谢谢啦 如果把选框内的代码挪到箭头的位置,为什么图片隐身这个效果就实现不了呢? 函数外面放一个用alert(value); 弹出来的value的值一直是变化的, 为什么document.getElementById('pic').style.opacity=value/100;放到函数外面, value的值就传递不进来了? 解决方案 放在外面就不属于函数了,那么它只会执行一次.不会随定时器执行. 解决方案二: 没有执行,不在function内部,没有触发它执

jQuery与JS加载事件用法分析_jquery

本文实例分析了jQuery与JS加载事件用法.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <hea

Ajax+FormData+javascript实现无刷新表单信息提交_javascript技巧

原理: dom收集表单信息,利用FormData快速收集表单信息 ,实例化表单数据对象 同时收集fm的表单域信息. var fd = new FormData(fm); //实例化对象 alert(fd); fd对象内部有收集的form表单域信息 ajax传递表单信息 1.静态显示页面代码 <!DOCTYPE html > <html> <head> <meta http-equiv="Content-Type" content="t

js捕捉键盘事件和按键键值的方法_javascript技巧

如下所示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Co

jquery-JQuery事件添加小问题

问题描述 JQuery事件添加小问题 代码如下: <!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd""><html xmlns=""http://www.w3.org/1999/xhtml&quo

javascript-各位大神看这里,有个关于js调用外部文件的小问题,请帮忙解答一下,谢谢!

问题描述 各位大神看这里,有个关于js调用外部文件的小问题,请帮忙解答一下,谢谢! 场景如下: 一个项目中,有两个html页面需要tab选项卡,效果不同,html中使用相似的结构和类名(类名可能会重复),我现在将函数写在js文件中,然后再html中添加参数调用,有没有什么办法不需要在html中调用,让js文件的函数直接运行,由于类名可能会重复,如果在外部文件直接运行两次,可能会干扰正常的效果,请问各位大神在写js效果的时候,都是怎么在外部调用的. 解决方案 js不能脱离页面单独存在的吧,可以设置

js监听键盘事件的方法_原生和jquery的区别详解_javascript技巧

经常需要监听键盘的事件,以便做更好的操作,基本原理是:监听全局键盘,每一个键盘,当用户按下某一按键时,返回对应的键值,然后再判断用户按下了哪一科按键,键值对应按键的名称在最下面列出,自行比对.去以下介绍两种不同的方式 原生键盘监听事件:按下一次按键,分为三个过程,按下-按住-松开 onkeydown:某个键被按下 onkeypress:某个键盘的键被按下或按住 onkeyup:某个键盘的键被松开 使用方法,一般来说,键盘监听是直接在整个页面文档上进行监听的,也就是document上 以下是原生的

老生常谈js动态添加事件--- 事件委托_javascript技巧

其所谓的动态添加事件实质就是指js中的事件委托. 我们知道在js中,事件处理只能绑定在当前被选中的元素上,换句话也就是说,事件处理只能绑定在当前文档已经存在的元素上!但是,往往小伙伴们都会遇到一个问题就是,我的元素是后来动态添加到页面的,而我又想给该元素绑定事件,怎么处理? 为了说明白这一问题,我们假设需要给后来添加到当前页面的元素添加click事件. 解决这一问题的核心就是利用js的委托事件.委派事件的优势就是可以给未存在的元素绑定事件,而且委派事件往往开销也会更小! 题外话:举一个最简单的例