消防jQuery的。对(“变”)总是至少一次

消防jQuery的。对(“变”)总是至少一次

问题描述:

我经常发现自己使用的代码片段如下所示:消防jQuery的。对(“变”)总是至少一次

$('[name=myradio]').on('change', function(){ 

    if($(this).val() == 0){ 
     $('#div').toggle(); 
    } 

    else if(....){ 
     $('#div2').toggle(); 
    } 

    //...and more code going on 
}); 

不过,我常常想至少一次总是执行这些代码段(例如,当验证失败时)!当然,我可以制作此代码的一种方法,然后从change匿名函数以及$(document).ready()方法中执行该方法,但我想知道是否有一种简单的方法可以执行该代码至少一次,但也可以保留代码只在改变方法中保持一切都很好,而不是为一些只能使用两次的东西做一个方法。

+0

你会怎么做,而不使用一种方法? – evolutionxbox

+0

这实际上是我的问题......可能吗?也许有一种方法至少执行一次“更改”,这就是我正在寻找的方法,所以我不需要为这样一小段代码做一个方法,只用了两次。 – Markinson

你可以触发$(document).ready(...)

$(document).ready(function() { 
    $('[name=myradio]').on('change', function() { 

    if ($(this).val() == 0) { 
     $('#div').toggle(); 
    } else if (....) { 
     $('#div2').toggle(); 
    } 

    //...and more code going on 
    }).trigger("change"); 
}); 
+0

那么这比我想象的要容易得多。谢谢! – Markinson

使用trigger()方法变更。通过这种方式,您可以仅将代码保留在更改方法中,并从任何地方触发它。

$(selector).trigger("change");