jQuery перетаскиваемое изображение, остановить перетаскивание, когда мышь выходит за пределы (div) - PullRequest
3 голосов
/ 20 марта 2012

У меня перетаскиваемое изображение внутри функции div. Однако я хотел бы сделать это так, если, когда пользователь удерживает мышь нажатой и перетаскивает элемент / div, когда мышь выходит за пределы div, когда его вниз или его границы, он больше не будет перемещаться. Перетаскивание активируется при нажатии кнопки на элементе управления, который работает правильно. Я просто хотел бы иметь возможность остановить перетаскивание, когда мышь выходит за пределы определенного элемента div /.

Это часть составного элемента управления, поэтому при загрузке страницы сценарии регистрируются на странице.

jQuery.fn.Draggable = function (button) {

    if (button.value == "Off") {

        button.value = "On";
        this.draggable({ cursor: "hand" });


    } else {
        button.value = "Off";
        this.draggable("destroy");
    }
}

jQuery.fn.Drag = function (button) {
    this.Draggable(button);
}

Заранее спасибо.

Edit:

Я уже использовал сдерживание, но я не хочу, чтобы изображение фиксировалось внутри div. Я хочу, чтобы изображение могло выходить за границы, но когда мышь выходит за границы, она перестает перетаскиваться.

Итак, когда мышь выходит за пределы блока div, перетаскивание прекращается. Я не хочу содержать объект внутри div. Я уже возился с ним.

1 Ответ

1 голос
/ 26 апреля 2012

Можно ли зарегистрировать события mouseenter / mouseleave на содержащем div, который включает / отключает функцию перетаскивания?

$('div#container').mouseenter(function(event) {
    // enable dragging

}).mouseleave(function(event) {
    // disable dragging

});
...