在另一个函数中使用onclick()

时间:2015-02-28 18:03:43

标签: javascript

function layoutMod() {
    standardId = document.getElementById("standard");
    fancyId = document.getElementById("fancy");
    standardId.onclick = function() {
        standard();
    };

    fancyId.onclick = function() {
        fancy();
    };
};

如何在函数中使用上面定义的onclick事件?在页面加载时加载函数是一个好习惯吗?我需要在函数中定义onclick事件,因为我不想使用全局变量。

2 个答案:

答案 0 :(得分:3)

你写的东西应该有效。但是,您应该注意,通过不使用var关键字,您仍然在函数内部创建全局变量。我建议......

function onloadHandler() {
    document.getElementById("standard").onclick = function() {
        // Do something
    };

    document.getElementById("fancy").onclick = function() {
        // Do something else
    };
};

答案 1 :(得分:1)

It can get messing when you nest functions inside of each other.在这种情况下,我建议删除外部函数,以便您的代码如下所示:

document.getElementById("standard").onclick = function() {
 standard();
};
document.getElementById("fancy").onclick = function() {
 fancy();
};

代码不需要在函数中,它将自动在页面加载时运行。由于您不想要全局变量,因此根本不使用变量。