如果未删除/拖动,请选中/取消选中图像的复选框

时间:2012-11-12 13:57:20

标签: jquery

我有一个带有图像的网格,每个图像都有一个复选框来选择它(用于删除)。网格是可排序的。

我想检查/取消选中该复选框,只有在图像没有被悬垂/掉落时(仅通过简单点击)。

我做了以下几行

$('#images li').click(function() {
    if ($(this).children('input').is(':checked'))
    {
         $(this).children('input').attr('checked', false);
    }
    else
    {
         $(this).children('input').attr('checked', true);
    }
});

$('#image li').bind('drag',function() {
    $(this).children('input').attr('checked', false);
});

$('#image li').bind('drop',function() {
    $(this).children('input').attr('checked', false);
});

然而,“drop”语句看起来不起作用。怎么做正确的方法?

2 个答案:

答案 0 :(得分:0)

drop事件不是您认为的示例。这是在上删除的对象上触发的事件,而不是删除的对象。您正在寻找dragend事件。

http://help.dottoro.com/ljsluknm.php

答案 1 :(得分:0)

我有解决方案!我已将“click()”更改为“live()”,因为它正常工作。 正确的代码:

$('#images li').on('click', function() {
    if ($(this).children('input').is(':checked'))
    {
         $(this).children('input').attr('checked', false);
    }
    else
    {
         $(this).children('input').attr('checked', true);
    }
});

$('#image li').bind('drag',function() {
    $(this).children('input').attr('checked', false);
});

$('#image li').bind('drop',function() {
    $(this).children('input').attr('checked', false);
});