为了账号安全,请及时绑定邮箱和手机立即绑定

为什么使用btn.onlick = count(); 进入页面就触发事件

function count(){

      

      var txt1 = parseInt(document.getElementById('txt1').value); //获取第一个输入框的值

    var txt2 = parseInt(document.getElementById('txt2').value); //获取第二个输入框的值

    var val = document.getElementById('select').value; //获取选择框的值

    var showfruit = document.getElementById('fruit'); 


    //获取通过下拉框来选择的值来改变加减乘除的运算法则

      //设置结果输入框的值

     

      switch(val){

        case '+':

            showfruit.value = txt1 + txt2;

            console.log(txt1 + txt2);

            break;

        case '-':

            showfruit.value = txt1 - txt2;

            break;

        case '*':

            showfruit.value = txt1 * txt2;

            break;

        case '/':

            showfruit.value = txt1 / txt2;

            break;

      }

  };



  var btn = document.getElementById( 'getresult' ); 

  btn.onlick = count(); // 用这种方法执行,为什么进入页面就会出发事件?


正在回答

2 回答

因为count();这种写法是直接调用 count方法,也就是count函数已经在onclick事件触发之前就已经被执行了,正确的写法是 onclick=conut;这样才能做到onclick事件触发后 才调用count;关键点就是 方法后面加个()就是直接调用;

0 回复 有任何疑惑可以回复我~
#1

兮兮酱 提问者

谢谢啦,嗯,对的
2017-07-25 回复 有任何疑惑可以回复我~
#2

兮兮酱 提问者

并且要在 window.onload = function(){ document.getElementById('getresult').onclick = count; }; 这里边,要不然会报错
2017-07-25 回复 有任何疑惑可以回复我~

是onclick事件吧

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么使用btn.onlick = count(); 进入页面就触发事件

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信