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

来源:6-11 编程练习

兮兮酱

2017-07-20 16:02

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回答

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

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

    兮兮酱

    并且要在 window.onload = function(){ document.getElementById('getresult').onclick = count; }; 这里边,要不然会报错

    2017-07-25 18:56:07

    共 2 条回复 >

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

    是onclick事件吧

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468195 学习 · 21891 问题

查看课程

相似问题