我使用garlic.js 来保存复选框的输入状态(http://garlicjs.org/)。它工作得很好,但由于某种原因,jQuery 无法识别在页面重新加载后由garlic.js 检查输入的时间。
我可能在这里遗漏了一些东西,但不确定它是什么。
例如,如果我#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 无法识别输入状态?,我使用了错误的代码?