在页面加载时触发jquery事件函数

在页面加载时触发jquery事件函数,jquery,Jquery,这里有一个小jQuery函数,当单击复选框时,它可以实现我想要的功能,但我的知识有一个基本的差距: 如何注册,以便在页面加载时处理已单击的复选框 (编辑:对不起,对于那些已经回答了这个问题的人,我对这个问题进行了编辑以使其更清楚) 如果我使用.trigger('click'),它会单击(或松开)页面加载上的所有框 我可以想出一些方法来实现这一点,其中包括重复部分代码,但我只知道jQuery已经有了一个优雅的答案…您可以将该代码放入函数中并立即调用该函数 例如: function handleCh

这里有一个小jQuery函数,当单击复选框时,它可以实现我想要的功能,但我的知识有一个基本的差距:

如何注册,以便在页面加载时处理已单击的复选框

编辑:对不起,对于那些已经回答了这个问题的人,我对这个问题进行了编辑以使其更清楚)

如果我使用.trigger('click'),它会单击(或松开)页面加载上的所有框


我可以想出一些方法来实现这一点,其中包括重复部分代码,但我只知道jQuery已经有了一个优雅的答案…

您可以将该代码放入函数中并立即调用该函数

例如:

function handleCheckbox() {
    if ($(this).attr('name') == 'foo') {
      // hide checkbox 'bar'
    }
    else {
      // show checkbox 'bar'
    }
}

$(function() {
    $('fieldset :checkbox').each(handleCheckbox).click(handleCheckbox);
});

您可以将该代码放入函数并立即调用该函数

例如:

function handleCheckbox() {
    if ($(this).attr('name') == 'foo') {
      // hide checkbox 'bar'
    }
    else {
      // show checkbox 'bar'
    }
}

$(function() {
    $('fieldset :checkbox').each(handleCheckbox).click(handleCheckbox);
});
像这样

$(function() {
  $('fieldset input:checkbox').click(function() {
    if ($(this).attr('name') == 'foo') {
      // hide checkbox 'bar'
    }
    else {
      // show checkbox 'bar'
    }
  }).filter(":checked").click();
})

在看到另一个答案后,我不认为上述是你想要的+1给另一个人

:-)

像这样吗

$(function() {
  $('fieldset input:checkbox').click(function() {
    if ($(this).attr('name') == 'foo') {
      // hide checkbox 'bar'
    }
    else {
      // show checkbox 'bar'
    }
  }).filter(":checked").click();
})

在看到另一个答案后,我不认为上述是你想要的+1给另一个人

:-)

您可能需要在handleClick函数中添加一些逻辑,以确保您知道复选框处于什么状态。您可以通过调用
$(this).is(':checked')


您可能需要在handleClick函数中添加一些逻辑,以确保您知道复选框处于什么状态。您可以通过调用
$(this).is(':checked')

您是否应该检查函数中是否有
$(this).is(':checked')
?我认为这需要一点详细说明-您是否可以提供一个工作示例或扩展您希望jQuery如何处理预选中的复选框?您是否应该检查
$(this).is(':checked'))
在函数中?我认为这需要一点详细说明-您能否提供一个工作示例或扩展您希望jQuery如何处理预先选中的复选框?这将调用所有复选框上的单击函数,并切换它们是否选中。他只希望它在加载时被选中的那些文件上触发。@petersendidit:如果这是他想要的,他需要在处理程序中调用
$(this).is(':checked')
。(如果用户两次单击复选框)您应该避免使用
$(function(){…
。jQuery 1不支持它。4@Sam支持
$(function(){});
。它的
$()
是通往
$(文档)的捷径
不是这样。这将对所有这些控件调用click函数,并在它们是否选中时进行切换。他只希望它在加载时选中的控件上触发。@petersendidit:如果这是他想要的,他需要在处理程序中调用
$(This).is(':checked')
。(如果用户两次单击复选框)您应该避免使用
$(function(){…
。jquery1不支持它。4@Sam支持
$(function(){});
。它的
$()
是通往
$(文档)的捷径
事实并非如此。如果这是他想做的,那么如果用户取消选中复选框,他的代码将不会做他想做的事情。@如果答案非常正确,则更新我的答案以指出这一事实,并向他展示如何检查状态。谢谢,抱歉问题不够清晰,并且+1仍然得到正确的答案。如果这是他想做的,他的代码w在上,如果用户取消选中复选框,他不会做他想做的事。@非常正确,更新了我的答案以指出该事实并向他展示如何检查状态。谢谢,对问题的不清晰表示抱歉,并对仍然得到正确答案表示+1。