为什么一打开页面就显示alert里面的内容?不是应该点击后才出现吗

 <button id="but">按钮</button>
<script>
var but = document.getElementByid("but");
but.onclick=demo();
function demo(){
      alert("事件处理");
}
</script>

添加点击事件好像不是这么写的呀。
另外引用某个函数,后面加()表示立即调用。

demo函数写在外面,单独写

点击事件不是点击某一个控件吗,在控件添加onClick=函数名();这样才能点击后出现

你把js中的but.onclick=demo();去掉,在html中的but那边加上onclick="demo()"就可以了吧,还有最后那个分号是中文的,改成英文状态的;

把你的script标签里的代码写在head标签里面,不要在body里面写。试试

 <button id="but">按钮</button>
<script>
    var but = document.getElementById("but")//大小写也没有区分document.getElementByid("but");
    but.onclick=demo////////////();去掉括号,加()是执行函数将返回值作为onclick事件的处理函数了,
    function demo(){
        alert("事件处理");///////////还有这里写成中文状态下的逗号了;
    }
</script>

按钮

var but = document.getElementByid("but"); but.onclick=demo();//这里 进来就加载了demo方法了 function demo(){ alert("事件处理"); }

改成
按钮

function demo(){ alert("事件处理"); }

//改成这样
按钮

function demo(){ alert("事件处理");///////////还有这里写成中文状态下的逗号了; }

按钮

function myFunction(){ alert("事件处理"); }