微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery函数根本没有触发

真正的愚蠢问题.我想我现在已经这么做了,但我显然错过了一些东西.我希望我的函数页面加载时立即触发,以检查变量的值并根据该值使按钮显示或消失.但我写的函数永远不会被调用.我将函数放在$.Load()和$(document).ready jquery调用中.如何才能启动此功能

$(document).ready(function () {
        debugger;        
        (function () {           
        debugger;
        var $b = '<%=toggle %>';
        var buttonTog = $("#test1");
        var buttonTog1 = $("#Submit1");
        if($b=="1")
        {
            debugger;
            buttonTog1.css({
                display: 'block'
            })
            buttonTog.css({
                display: 'none'
            });
        }
        else if($b=="0")
        {
            debugger;
            buttonTog1.css({
                display: 'none'
            })
            buttonTog.css({
                display: 'block'
            });
           }            
       });
       ...
    });

正如你所看到的,我有多个调试器语句,只是没有被击中……当我点击$(文档).ready并进入第一个调试器语句时,它只是不触及下一个函数?我不明白吗?它顺着它?你不能在.ready(function())中调用一个函数吗?绝对需要做一些研究.

解决方法

您定义了一个匿名函数,但您从不调用它.以下是自动调用匿名函数方法

$(document).ready(function () {
    (function() {
        var buttonTog = $("#test1");
        var buttonTog1 = $("#Submit1");
        ...
    })(); // <!-- notice the (); at the end
});

话虽这么说,我几乎看不到在document.ready回调中使用这个匿名自动调用函数的用处,它本身就是一个匿名函数.事情开始变得私密了:-)

你可以简单地在其中编写代码

$(document).ready(function () {
    var buttonTog = $("#test1");
    var buttonTog1 = $("#Submit1");
    ...
});

我怀疑你可能会遗漏一些关于$(document).ready函数及其语法的重要概念.我建议您查看the documentation获取更多示例.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐