有时候我会解决以下问题:我在客户端使用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)
您可以使用jquery的trigger()方法触发onLoad上的click事件.
例如,注册一个点击事件:
$('#someElement').on('click', function () { console.log('I BE CLICkED') });
触发它:
$('#someElement').trigger('click');
您可以使用trigger()以及触发自定义事件来触发任何事件.(允许您绑定到插件等触发的事件)
完整的触发器文档在这里,并且在jquery中使用自定义事件是一个很好的帖子