我正在使用jQuery Cookies和jQuery隐藏和显示以及复选框切换来控制何时显示价格。
bind()
这很好用,但jQuery破坏了我的CSS切换,并且我一生都无法弄清楚为什么。
这里是摆弄这个问题的小提琴(请注意拨动开关不会切换):
https://jsfiddle.net/ra5t0hfo/7/
并删除了与jQuery相同的提琴,在我的切换正常的情况下
答案 0 :(得分:2)
您俩的小提琴仍然使用jQuery。这只是其中一个没有cookie库的地方。没有cookie库的库是可以使用的库,因为您的点击处理程序从未设置。
这是因为您的代码在ShowPrices()
的第一行出现了错误
if($.cookie('VATMODE') == "INC"){
由于cookie库不存在,$.cookie
未定义,因此引发错误。如果打开控制台(在大多数浏览器中为F12->控制台选项卡),您会看到类似Uncaught TypeError: $.cookie is not a function
之类的错误,此错误会影响函数中其余代码的运行
ShowPrices(); //error happens in ShowPrices, execution stops here does not continue
$('input#togBtn').click(function(){
//...
});
使用cookie库的那个库不起作用的原因是,永远不会引发该错误,并且您的点击处理程序已设置。然后您在该处理程序中return false
,该操作可防止复选框更改状态的默认操作
jQuery("#thecheck").click(function(){ return false });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="thecheck">
如果您希望复选框可切换,请取出return false
语句。
答案 1 :(得分:1)
为什么用false
返回$('input#togBtn')
?删除退货作品。
检查Image6