首页 新闻 会员 周边

js单击事件问题

0
悬赏园豆:5 [已解决问题] 解决于 2016-12-12 15:05
(function(){
    var btn=document.getElementById("btn");
    function getName(name){
    alert(name);
    }
    btn.onclick=getName("123");
}();

这个单击事件为何无法执行,(页面刷新时弹出,但是单击按钮无效)

 

 

(function(){
    var btn=document.getElementById("btn");
    function getName(name){
        alert(name);
    }
    btn.onclick=function(){
        getName("123");
    }
})();

这样则是正常的,百度找不到原因 来这问一下

Reality-彪的主页 Reality-彪 | 初学一级 | 园豆:199
提问于:2016-12-12 10:05
< >
分享
最佳答案
2

getName("123") 执行的时候返回了 undefined

btn.onclick = undefined 当然什么也不会弹出了

收获园豆:4
by.Genesis | 老鸟四级 |园豆:2719 | 2016-12-12 11:50

 呃呃呃 这个不是主要问题 

(function(){
        var btn=document.getElementById("btn");
        function getName(){
           alert("123");
        }
        console.log(getName);
       btn.onclick = getName;
    })();

这样也是一样 不能弹出

Reality-彪 | 园豆:199 (初学一级) | 2016-12-12 14:29

 错了 上面的能弹出。。。

Reality-彪 | 园豆:199 (初学一级) | 2016-12-12 14:37

@Reality-彪: 是的

by.Genesis | 园豆:2719 (老鸟四级) | 2016-12-12 14:38
其他回答(2)
0

因为多以的函数只要是  functionName(...)所得到的都是一个返回值。所以你的btn.onclick=getName("123");其实是onclick=值,而不是函数。

收获园豆:1
张云山 | 园豆:642 (小虾三级) | 2016-12-12 10:30
0

问题汇总:当getName函数带参时,单击事件调用getName时,是无法执行的。具体原因不知。

Reality-彪 | 园豆:199 (初学一级) | 2016-12-12 15:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册