这让我很生气。我无法理解它。
我根据复选框编写了一个过滤函数,然后点击它们的标签。我正在查看“已检查”状态。复选框的状态和显示列表的mathed元素(其余元素被隐藏)。我使用3rdparty插件来样式化复选框(从示例中剪切)并使复选框被检查,而其他onClick事件进行过滤。
问题是,经过检查'状态成功设置在回调函数中它突然"突然"重置!我无法理解为什么会这样。
我在这里实现了基本逻辑(没有样式化): http://jsfiddle.net/3Xtuh/13/ 请大家帮我解决这个问题。
答案 0 :(得分:1)
问题是您手动调用click事件,然后当您的函数运行完毕时,将调用默认的click事件。
将事件变量传递给click处理程序并调用event.preventDefault();修复了这种行为。
请参阅此处的示例:http://jsfiddle.net/3Xtuh/14/
答案 1 :(得分:0)
答案 2 :(得分:0)
这是违反js脚本的默认浏览器行为。默认情况下,单击复选框或包含有效for
属性集的标签,切换该复选框的checked
状态。
您已在标签上附加自定义onclick处理程序。
那么当点击标签时会发生什么?您的点击处理程序被触发(在您更改目标复选框的状态),然后