问答详情
源自:6-11 编程练习

为什么使用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(); // 用这种方法执行,为什么进入页面就会出发事件?


提问者:兮兮酱 2017-07-20 16:02

个回答

  • 慕村4009116
    2017-07-24 23:06:47
    已采纳

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

  • ZX潇潇呀
    2017-07-20 17:31:56

    是onclick事件吧