Создание перетаскиваемого элемента на цель - PullRequest
2 голосов
/ 21 января 2012

Теперь я знаю, о чем вы, ребята, думали, когда читали название.Ваше вероятное мышление, что я говорю о jQuery UI, перетаскивается.Но я на самом деле говорю о плагине, который я делаю для сообщества.Я пытаюсь создать цель для своего плагина.Он работает так, как вы можете видеть здесь:

http://jsfiddle.net/XvZLn/24/

Как вы можете видеть, он отлично работает.

Сначала позвольте мне объяснить, что должно произойти.Ну, что я хочу, так это если элемент удаляется в цель ... запускается targ.on ().Это функция onTarget в моем плагине.Это и offTarget (targ.off ()) не работают в моем плагине.

Это то, что у меня есть в моем плагине:

var targ = {
                            on: o.target.onTarget,
                            off: o.target.offTarget
                        };

Тогда мой код установки плагина:

$(document).ready(function() {
    $('#drag').jDrag({
        revert: false,
        revertDuration: 500,
        ghostDrop: false,
        ghostRevert: false,
        ghostOpacity: '0.50',
        instantGhost: false,
        activeClass: false,
        handle: false,
        grid: false,
        cookies: false,
        cookieExdate: 365,
        radialDrag: false,
        radius: 100,
        circularOutline: false,
        strictMovement: false,
        distance: 0,
        not: false,
        containment: false,
        target: {
            init: '#container',
            lock: false,
            onTarget: function() {
                $(this).hide();
            },
            offTarget: function() {}
        },
        onPickUp: function() {},
        onDrop: function() {}
    });
});

Я не понимаю, почему это не сработает.

Это мой плагин, если вы хотите взглянуть на него:

http://jsfiddle.net/ZDUZL/89/

1 Ответ

2 голосов
/ 21 января 2012

Try:

onTarget: function() {
                console.log(this);
                $(this).hide();
            },

Вы увидите, что «this» относится не к элементу, а к объекту, который содержит функцию.

Передайте элемент какаргумент:

if (locker === false) {
    if (statement) {
        targ.on(this);
        lock = false;
    } else {
        targ.off();
        lock = false;
    }
}

http://jsfiddle.net/ZDUZL/91/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...