0

这是我的jQuery代码

(function($){
var W=$(window),
    D=$(document),
    Ht = D.height(),
    Wt = W.width();
$.fn.ThrowMask = function(){
             //Working code
        }
});

我试图像这样在按钮单击上附加此代码

<script type="text/javascript">
    $(document).ready(function(){
        $("#btn").click(function(){
            ThrowMask();
        });

    });
</script>

但这会导致错误未定义。

4

3 回答 3

2

除了 Isaac Fife 的修复之外,您还需要正确调用该函数。

<script type="text/javascript">
    $(document).ready(function(){
        $("#btn").click(function(){
            $(this).ThrowMask();
        });
    });
</script>
于 2012-08-07T18:40:07.443 回答
1

你永远不会调用 lambda 函数。改用这个

(function($){
var W=$(window),
    D=$(document),
    Ht = D.height(),
    Wt = W.width();
$.fn.ThrowMask = function(){
             //Working code
        }
})($);

注意两个额外的括号。将 jquery 添加到函数调用。

于 2012-08-07T18:37:46.427 回答
0

这是工作代码:

(function($){
var W=$(window),
    D=$(document),
    Ht = D.height(),
    Wt = W.width();
$.fn.ThrowMask = function(){
             //Working code which binding click event
             $(this).click(function (event) {
                  // do your click even handler here
             });

        }
}(jQuery));



<script type="text/javascript">
    $(document).ready(function(){
        $("#btn").ThrowMask();

    });
</script>
于 2012-08-07T18:42:02.440 回答