var btn = document.getElementById('butn');
function change () {
if (this.value === '显示') {
this.value = '隐藏'
} else {
this.value = '显示'
}
alert(this);
}
if(btn.addEventListener){
btn.addEventListener('click', change);
}else if(btn.attachEvent){
btn.attachEvent("click",change);
alert("出来没"); //ie8兼容 alert这个出来了但是 这块没有反应。这是为什么呢?
}
<input type="button" id="butn" value="显示/隐藏" />
<p>标题</p>
<p>内容</p>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
ie是onclick 另外 不要用this
attachEvent的时候 "click" 前面要加个"on"
btn.attachEvent("onclick",change); 试一下
看了一下你的chage函数里还调用了this
这样的话,要改成
btn.attachEvent("onclick",function(){ change.call(btn)});
才会正常的
正好之前写了一篇文章,点此