在这种情况下如何使用“this”? 我收到错误..页面无法设置为null或undefined。
<button onclick="myFunction(this)">
<script>
function myFunction() {
this.style.display='none';
}
</script>
答案 0 :(得分:3)
您可以使用func.call绑定该函数调用的上下文(否则在您的情况下它将指向全局对象(窗口)):
myFunction.call(this);
或myFunction(this)
你应该这样做:
function myFunction(elm) {
elm.style.display='none';
}
答案 1 :(得分:0)
更好的想法是在HTML中使用click
而非addEventListener
内联注册onclick
事件:
var theButton = document.getElementById("theButton");
theButton.addEventListener("click", function(e) {
var originalElement = e.srcElement || e.originalTarget;
originalElement.style.display = 'none';
});
当然,您需要为按钮提供相同的id
- theButton
- 或以其他方式检索它,但这是一种更加灵活和现代的处理方式事件。