JQuery"onclick"事件加上"onload"

Rom*_*man 2 jquery

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

   $(function() {         

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

           if (this.checked) {
             $('#txFirstAid').show();
           } else {
             $('#txFirstAid').hide();
           }
       });
   });
Run Code Online (Sandbox Code Playgroud)

它工作正常.但我也想在刚刚加载页面时运行此代码.当然,我可以移动代码来分离这样的函数:

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

       });

          function myFunc()
          {
           if (this.checked) {
             $('#txFirstAid').show();
           } else {
             $('#txFirstAid').hide();
           }
          }
   });
Run Code Online (Sandbox Code Playgroud)

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

$('#<%=chbMyCheckbox.ClientID %>').click(function(event).onloadEvent()
{
    bla-bla
}
Run Code Online (Sandbox Code Playgroud)

atm*_*tmd 5

您可以使用jquery的trigger()方法触发onLoad上的click事件.

例如,注册一个点击事件:

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

触发它:

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

您可以使用trigger()以及触发自定义事件来触发任何事件.(允许您绑定到插件等触发的事件)

完整的触发器文档在这里,并且在jquery中使用自定义事件是一个很好的帖子