首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iCheck插件- ifToggled取消事件

iCheck插件- ifToggled取消事件
EN

Stack Overflow用户
提问于 2015-09-07 11:49:42
回答 2查看 3.2K关注 0票数 6

是否可以取消iCheck在ifToggled上的操作?我有未经检查的输入:

代码语言:javascript
复制
$('input').iCheck().on('ifToggled', function(e) {
    if (confirm('Don\'t check?')) {
        return false;
    }
});

仍然检查输入(JSFiddle简单示例)。有什么办法取消活动吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-06-23 20:03:10

抛出异常似乎会取消事件传播:

代码语言:javascript
复制
$('input').iCheck({
    checkboxClass: 'icheckbox_flat'
}).on('ifToggled', function(e) {
    if ($('input').is(':checked') && confirm('Don\'t check?')) {
        throw "canceled";
    }
});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/iCheck/1.0.1/skins/flat/flat.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/iCheck/1.0.1/skins/all.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/iCheck/1.0.1/icheck.min.js"></script>
<label>Input <input type="checkbox" value="1" name="input"/></label>

PS:我不喜欢这种方法,但它有效。

票数 0
EN

Stack Overflow用户

发布于 2015-09-11 07:33:19

所以我不得不坚持用超时来解决这个问题。

代码语言:javascript
复制
$('input').iCheck({
    checkboxClass: 'icheckbox_flat'
}).on('ifToggled', function(e) {
    if ($('input').is(':checked') && confirm('Don\'t check?')) {
        setTimeout(function() {
           $('input').iCheck('uncheck');
        }, 50);
    }
});

JSFiddle

如果有人有更好的解决方案,我很想听听。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32438001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档