簡體   English   中英

避免元素在使用jQuery可排序刪除時被選中

[英]Avoid element to get selected when its dropped with jQuery sortable

我有一個函數,可以讓我在單擊元素時選擇它。 它是這樣的:

$('ul.grid li').click(function() {
    var input = $(this).find('input.select-state:first');
    var value = input.attr('value');
    if (value == '0') {
        $(this).addClass('active');
        input.attr('value', '1');
    } else {
        $(this).removeClass('active');
        input.attr('value', '0');
    }
});

當我向其中添加可排序的jQuery時,因為該函數運行,所以在刪除它時會立即選擇要刪除的元素。 解決這個問題的方法是什么?

謝謝!

從未使用過jQuery Sortable,但是可以.stopImmediatePropagation()調用添加到調用sortable的函數中嗎?

您可以在開始拖動時在元素上設置一個標志,如下所示:

$(document).ready(function(){
    $('ul.grid').sortable({
        start: function(event, ui){
            ui.item.data('dragged', true);
        }
    });
});

然后只需在點擊功能中檢查並翻轉該標志即可,如下所示:

$('ul.grid li').click(function() {
    if($(this).data('dragged')){
        $(this).data('dragged', false);
    } else {
        var input = $(this).find('input.select-state:first');
        var value = input.attr('value');
        if (value == '0') {
            $(this).addClass('active');
            input.attr('value', '1');
        } else {
            $(this).removeClass('active');
            input.attr('value', '0');
        }
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM