JS中onclick事件传参

美术馆案例中,需要将“增加一个img标签,放入大图片”这样一个函数封装,但是在调用的时候需要传参。

<script type="text/javascript">
        onload = function () {
            var li = document.getElementsByTagName("li");
//下面封装了imgClick函数,带有一个参数n
var imgClick = function (n) { var imgLarge = document.createElement("img"); dv.appendChild(imgLarge); imgLarge.src = "source/image/0" + (n + 1) + ".jpg"; }
//就是下面这个 li[0].onclick = function () { imgClick(0); } } </script>

1.本来想用li[0].onclick=imgClick(0);结果页面没点小图片,大图片就出来了,原因是多加了括号,就相当于使用了函数,再把返回值给了li[0].onclick.

2.但是去掉括号后,就不能传参了。

3.百度后,使用上面的代码,

li[0].onclick = function () {
                imgClick(0);
            }
加了个function(){}就可以了。
原文地址:https://www.cnblogs.com/Jacklovely/p/5333573.html