iCheck jQuery阻止自定义脚本

我使用“iCheck jQuery”来修改复选框的样式。 但是当我添加一个iCheck脚本时 – 我的onlick metod停止工作。 为什么会这样?

  $(document).ready(function(){ $('#my_cb').iCheck({ checkboxClass: 'icheckbox_square-blue', radioClass: 'iradio_square-blue', increaseArea: '20%' // optional }); });  

我的剧本:

  function hide_row_metod() { if(document.getElementById('my_cb').checked){ document.getElementById('row1').style.display = "none"; }else{ document.getElementById('row1').style.display = "inline"; } }  

iCheck注册您可以收听的自定义事件。 我在jsbin上设置了一个工作示例 ,主要区别在于:

 $("#my_cb").on("ifChanged", hide_row_metod); 

有两个事件: ifCheckedifUnchecked 。 如果要捕获所有对复选框的更改,则需要同时监听两者或者只是监听ifChanged 。 当您在hide_row_metod checked ,这将切换行。

在我的示例中,我使用块元素div#row1 ,因此在检查和取消选中后它将以不同的方式呈现( inline )。

另外:你的方法名称中有一个拼写错误(缺少h )。

我知道自从提出这个问题已经有一段时间了。 我制作了一个脚本来捕获每个收音机/复选框的onclick属性,并将其附加到相应的iCheck / iRadio。 请记住在iCheck应用后运行它。 在iCheck实现后设置超时或运行它:

 $("[class*='icheckbox'],[class*='iradio']").each(function(){ $(this).find("ins").attr("onclick", $(this).find("input").attr("onclick")); }); 

它可能被iCheck脚本覆盖。 尝试仅使用jQuery:

 $('#my_cb').on('click', function() { $('#row1').css('display', this.checked ? 'none' : 'inline'); });