我有这个简单的代码:

function rotatecard(event){
    this.parent.parent.className = "rotated";
}

function rotatebutton() {
        "use strict";
        var cardbutton = document.getElementsByClassName('rotatebutton'), i;
        for (i = 0; i < cardbutton.length; i += 1) { bindEvt(cardbutton[i], "click", rotatecard) };
}


但在旋转卡功能this中报告为未定义。这可能是基本的东西,但是有人可以指出我做错了吗?

编辑:bindevent代码:

var bindEvt = (function () {
    "use strict";
    if (document.addEventListener) {
        return function (element, event, handler) {
            element.addEventListener(event, handler, false);
        };
    }
    return function (element, event, handler) {
        element.attachEvent('on' + event, handler);
    };
}());

最佳答案

是的我相信这可能是指全球窗口。尝试使用

event.target


如果您需要捕获点击的元素

09-10 11:33
查看更多