チェックボックスの入力状態を保存するためにgarlic.jsを使用しています(http://garlicjs.org/)。これはうまく機能しますが、何らかの理由で、ページのリロード後にgarlic.jsによって入力がチェックされたときにjQueryが認識しません。
私はおそらくここで何かが欠けていますが、それが何であるかはわかりません。
たとえば#myInput:checked ~ .wonka {width: 200px}
、スタイルシートで設定した場合、Cssはそれを認識し.wonka
、ページの読み込みと入力がニンニクによってその値を取得するたびにスタイルを適用します。もちろん、兄弟セレクターの使用は非常に制限されています(たとえば、クラスが本体にある場合、それはできません)。
jQueryで同様のことを行うと、機能しません。
// This is not working
if ($("#myInput").is(":checked")) {
$("body").addClass("wonka");
}
// Neither this
if ($("#myInput").attr("checked")==true) {
$("body").addClass("wonka");
}
注:これは、ユーザーがクリックしたときではなく、ページが読み込まれたときまたは更新されたときにすぐに発生する可能性があります。重要なのは、ページが更新されたとき(または他のタブからロードされたとき)に再度起動することです。そうすれば、更新後と同じになります。
チェックボックスが「クリック」または「ホバー」されたときに他のイベントを発生させることができます。このように、例えば:
$("#myInput").on("change", function(){
$("body").addClass("wonka");
});
しかし、繰り返しますが、これは問題ではありません。jQueryが入力状態を認識しないのはなぜですか?間違ったコードを使用していますか?