javascript 基础 document.onclick 问题

问题点击第1次document会出现1、再次点击为什么没任何反应、求教

secript代码

var num = 0;
document.onclick = function(){
    num++;
    if(num % 2 != 1){
        document.write('2');
    }else(
        document.write('1')
    );
}

另外请问怎么监听点击的对象

阅读 4.2k
4 个回答

mdn参考
你再点的document已经不是之前的document了。

var num = 0;
document.onclick = function(){
    num++;
    if(num % 2 != 1){
        console.log('2');
    }else(
        console.log('1')
    );
}

document.write()执行后,这时的document没有绑定点击事件。改成console.log()才可以的。

因为你第一次点击时候,文档已经解析完了,文档流关闭了,已经写不上了,所以会先调document.open() 开一个新页面写在上面,等你在点的时候这个document已经不是你上一个document了.

想要在html上显示你的效果直接改写body的内容就ok了

var num = 0;
document.onclick = function(){
    num++;
    if(num % 2 != 1){
       // document.write('2')
        document.body.innerHTML='2'
    }else(
       // document.write('1')
        document.body.innerHTML='1'
    );
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题