在内部使用“THIS”功能

时间:2014-01-21 02:09:21

标签: javascript

在这种情况下如何使用“this”? 我收到错误..页面无法设置为null或undefined。

<button onclick="myFunction(this)">

<script>
function myFunction() {

this.style.display='none';

}
</script>

2 个答案:

答案 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 - 或以其他方式检索它,但这是一种更加灵活和现代的处理方式事件。