删除项目的jQuery UI .click()

时间:2014-01-26 16:24:34

标签: jquery jquery-ui

我是jQuery(UI)的新手并编写了我的第一个DnD GUI,我可以将元素从左侧拖动到右侧单元格中。我在丢弃的物品上添加了一个垃圾桶。当我点击放下的项目时,垃圾桶将切换出来并重新进入。

我现在的问题是,当我将元素从一个单元格移动到另一个单元格时,每次移动它时,click-Event都会被调用+1次,我不知道为什么......

这是小提琴:http://jsfiddle.net/KWT86/1/

我猜这个错误必须在drop Block

中的某个地方
drop: function(event, ui){
        if(!($(ui.draggable).hasClass('clone'))){ // first element -> make Clone
            image = $(ui.draggable).clone().draggable({revert: true}).addClass('clone');
            image.addClass('fill-cell'); // change width to 100%

        } else { // no clone needed, just moving
            image = $(ui.draggable).draggable({
            containment:'#gui-container',
            revert:true,
            revertDuration: 0
        });
        }                                   
        $(image).on('click', function(){
            image.children(':last').slideToggle();
            alert('clicked');
        });

        $(this).append(image) // apend object to <td>
        image.append('<a href="blabla" class="ui-icon ui-icon-trash trash">Delete Image</a>'); // append trashcan

        image.removeClass('ui-draggable-dragging');
    },

提前致谢!

1 个答案:

答案 0 :(得分:0)

这是修正它:

$(image).unbind('click').on('click', function(){
  image.children(':last').slideToggle();
  alert('clicked');
});

<强> .unbind( '点击')