真正的愚蠢问题.我想我现在已经这么做了,但我显然错过了一些东西.我希望我的函数在页面加载时立即触发,以检查变量的值并根据该值使按钮显示或消失.但我写的函数永远不会被调用.我将函数放在$.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以获取更多示例.