Кнопки прокрутки строк с помощью SlickGrid - PullRequest
1 голос
/ 24 августа 2011

Используя SlickGrid, я бы хотел добавить кнопку удаления в каждую строку.Но я бы хотел, чтобы кнопка отображалась только тогда, когда пользователь наводит курсор на строку.Хороший пример этого эффекта можно увидеть здесь:

http://grooveshark.com/#/popular

Кнопки «Play» и «Options» становятся видимыми только при наведении курсора на строку.

РешениеЯ реализовал выглядит следующим образом:

  $(".slick-row").hover(
    function () {
      $(this).find(".deletelink").css({"visibility": "visible"});          
    },
    function () {
      $(this).find(".deletelink").css({ "visibility": "hidden" });
    }
  );

Это работает, но это самый простой / рекомендуемый способ сделать это?Я новичок в SlickGrid и до сих пор не знаю, как взаимодействовать с сеткой, когда встроенные методы не дают мне того, что мне нужно.

Хорошая идея - манипулировать элементами SlickGrid, например:$ (". slick-row") используя jQuery?Или есть лучший способ сделать это?

РЕДАКТИРОВАТЬ: я обнаружил небольшую проблему с моим методом.При прокрутке сетки вверх и вниз на несколько экранов функция переключения теряется.Предположительно, потому что SlickGrid уничтожает и воссоздает строки таблицы.Возможно, я смогу решить это с помощью живых событий.Опять же, это хорошее решение или есть лучший способ решить эту проблему?

1 Ответ

2 голосов
/ 25 мая 2012

Используйте это вместо

$('.slick-row').live('mouseover mouseout', function (event) {
        if (event.type == 'mouseover') {
            $(this).find(".deletelink").css({"visibility": "visible"}); 
        } else {

             $(this).find(".deletelink").css({ "visibility": "hidden" });
        }
    });

отлично работает здесь, даже после прокрутки сетки вверх и вниз пару раз

...