1

我正在将一个 javascript 插件转换为 zepto。我有一个名为 setColor 的小函数,它使用 zepto 在页面就绪事件上运行。此函数在 onclick 事件上运行。单击时,它会抛出未定义的函数错误。

<a href="#" class="colorPicker" onclick="setColor('rgb(68,68,68)');return false;" >
        <img src="images/White.png" class="paint-bucket" />
    </a>
<script>

Zepto(function($){
var colorL;
            function setColor(col)
            {
                colorL = context.strokeStyle = col;
            }
});
</script>

PS =上面的代码只是我插件的一部分:)

4

1 回答 1

2

您的setColor函数是在您作为参数提供的匿名函数的闭包中定义的,Zepto并且在全局范围内是不可见的。另一方面setColor,您作为onclick处理程序调用的应在全局范围(即window)中定义。为了使您的setColor函数可以从任何地方访问,您应该在以下命名空间中定义它window

JavaScript

Zepto(function($){
    var colorL;
    window.setColor = function setColor(col)
    {
        colorL = context.strokeStyle = col;
    }
});
于 2013-08-09T13:09:35.403 回答