2017-03-08 10 views
0

我經常發現自己使用的代碼片段如下所示:消防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

回答

1

你可以觸發$(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

0

使用trigger()方法變更。通過這種方式,您可以僅將代碼保留在更改方法中,並從任何地方觸發它。

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

相關問題