Как бы вы использовали .not (this) в случае следующего кода? - PullRequest
0 голосов
/ 19 октября 2011

Как бы вы сказали: нет (это) в случае этого кода:

$(".draghandle").droppable({
    accept: ".draghandle:not(this)"
    drop: function ( event, ui ) {
        $( this )
        .addClass( "ui-state-highlight" )
        .find( "p" )
        .html( "Dropped!" );
    }
});

Вы увидите, что селектор справа от опции принятия, вероятно, недействителен, хотя я не проверялчтобы увидеть, мне было интересно, если у вас может быть решение относительно его проверки?Я еще не нашел его, но не расстраивайтесь, если у вас есть решение, которое также изменяет другую часть кода, мне просто нужно исправить.Вот аналогичный вопрос, который я пытаюсь расширить: jQuery: исключить $ (this) из селектора А вот ссылка на основной код для этого, который я использую в качестве ссылки: http://jqueryui.com/demos/droppable/#accepted-elements

1 Ответ

3 голосов
/ 19 октября 2011

Объяснение

Вы можете передать список jQuery в качестве аргумента принятия вместо просто селектора.В следующей демонстрации я делаю все .ui-widget-content элементы сбрасываемыми , кроме #draggable.(полностью изменяя оригинальную демонстрационную версию сайта jQuery UI).параметр, который я передал accept, был $(".ui-widget-content").not("#draggable").


Демо

http://jsfiddle.net/5TZ7b/
http://jsfiddle.net/5TZ7b/show


Код

$(function() {
    $( "#draggable, #draggable-nonvalid" ).draggable();
    $( "#droppable" ).droppable({
        accept: $(".ui-widget-content").not("#draggable"),
        activeClass: "ui-state-hover",
        hoverClass: "ui-state-active",
        drop: function( event, ui ) {
            $( this )
                .addClass( "ui-state-highlight" )
                .find( "p" )
                .html( "Dropped!" );
        }
    });
});

Заключение

В качестве параметра, передаваемого в accept.

$(".draghandle").not(this)
, можно использовать следующее.
...