JQuery UI Slider: вызов функции при наведении мыши снаружи - PullRequest
3 голосов
/ 19 октября 2010

я использую ползунок jquery ui , и все в порядке, за исключением того, что function я определил в изменении parameter fired, только когда я отпускаю мышь над ручками.Есть ли способ вызвать функцию, когда мышь отпущена за пределы slider?

спасибо за помощь.

Ответы [ 7 ]

4 голосов
/ 31 января 2015
$("#slider").slider({
    start: function(event, ui) {
        // do something on mousedown on slider
    },
    stop: function(event, ui) {
        // do something on mouseup anywhere
    }
});
2 голосов
/ 11 февраля 2012

Я думаю, что вы использовали, как это .... Характер события изменения заключается в том, что при наведении курсора на него будут отображаться изменения в событии ползунка ...

$( ".selector" ).slider({
   **change**: function(event, ui) { ... }
});

Теперь вы можете использовать этот тип события слайда ...... так что каждый раз, когда вы будете перемещать слайдер, он покажет эффект и вызовет эту функцию.

$( ".selector" ).slider({
   **slide**: function(event, ui) { ... }
});

Дхавал Мисти ... (UI developer)

0 голосов
/ 16 марта 2016

Вы можете использовать изменения. Это будет работать как обратный вызов. На основании http://api.jqueryui.com/slider/ Вы можете:

$('.selector').slider(function() {
    change: function( event, ui ) {}
});
0 голосов
/ 19 июля 2014

Эта проблема связана с http://bugs.jqueryui.com/ticket/8912

Я попробовал следующий хак, и это сработало:

используйте функцию наведения jQuery, чтобы прикрепить обработчик мыши к элементу, содержащему ползунок. Если при скольжении происходит указатель мыши, активируйте указатель мыши на элементе управления ползунком.

0 голосов
/ 11 мая 2013

Да, я использую ползунок jquery по умолчанию.Брайан, пожалуйста, посмотрите на

http://api.jqueryui.com/slider/#entry-examples

В нижней части страницы с примером слайдера вы увидите ту же проблему, о которой я говорил.

0 голосов
/ 08 мая 2013

Я тоже столкнулся с той же проблемой.Для меня это происходит, когда слайдер является частью дочернего элемента div, а остальная часть экрана закрывается родительским элементом div.Рассмотрим следующий сценарий:

  1. Нажмите кнопку мыши, когда указатель мыши находится на ползунке,

  2. перетащите ее на некоторое время и выведите указатель мышидетского див.

  3. Теперь указатель мыши находится на родительском элементе div.

  4. Отпустите кнопку мыши.

  5. Наблюдайте, что ползунок все еще подсвечен.

  6. Верните указатель мыши в дочерний блок без нажатия кнопки.

  7. Наблюдайте за движением в ползунке.

0 голосов
/ 19 октября 2010

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

Это стандартный слайдер jquery, который вы используете? Если это так, попробуйте тот же тест на официальной демонстрационной странице:

Демонстрационная страница jQuery UI

Вы увидите, что независимо от того, где находится ваша мышь, событие изменения по-прежнему срабатывает, пока вы продолжаете удерживать кнопку мыши нажатой после первоначального нажатия на булавку.

...