2

有时我遇到以下问题:我在客户端使用 asp.net 和 JQuery。例如,我想根据复选框的状态显示/隐藏 texbox。我写这样的东西:

   $(function() {         

       $('#<%=chbMyCheckbox.ClientID %>').click(function(event) {

           if (this.checked) {
             $('#txFirstAid').show();
           } else {
             $('#txFirstAid').hide();
           }
       });
   });

它工作正常。但我也想在页面刚刚加载时运行此代码。当然,我可以像这样将代码移动到单独的函数中:

   $(function() {         
         myFunc();
       $('#<%=chbMyCheckbox.ClientID %>').click(function(event) {
           myFunc();

       });

          function myFunc()
          {
           if (this.checked) {
             $('#txFirstAid').show();
           } else {
             $('#txFirstAid').hide();
           }
          }
   });

问题是:是否有可能以某种方式不移动代码,并编写类似这样的东西

$('#<%=chbMyCheckbox.ClientID %>').click(function(event).onloadEvent()
{
    bla-bla
}
4

2 回答 2

5

您可以使用 jquery 的trigger()方法来触发单击事件 onLoad。

比如注册一个点击事件:

$('#someElement').on('click', function () { console.log('I BE CLICkED') });

触发它:

$('#someElement').trigger('click');

您可以使用自定义事件触发任何事件trigger(),也可以触发自定义事件。(它允许您绑定到由插件等触发的事件。

完整的触发器文档在这里,这里有一篇关于在 jquery 中使用自定义事件的好帖子

于 2012-05-18T12:56:24.820 回答
0

渲染页面时如何隐藏服务器上的文本框?所以用户在domready之前看不到文本框。

于 2012-05-18T13:03:53.117 回答