在单击按钮时调用 jquery 函数时出现问题

Issue Calling jquery function on button click

本文关键字:问题 函数 调用 单击 按钮 jquery      更新时间:2023-09-26

这是我的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>

但这会导致未定义的错误。

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

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

你从不调用 lambda 函数。 改用这个

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

请注意两个额外的参数。在函数调用中添加了 jquery。

这是工作代码:

(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>