jqGrid 4.1.0 проблема со значком при наведении - PullRequest
2 голосов
/ 14 июня 2011

В предыдущей версии при встроенном редактировании все выглядело хорошо: enter image description here

Но в новой версии это выглядит так (я поставил границу чтения): enter image description here

Как это исправить?

Я использую jQuery 1.6.1, jQueryUI 1.8.13

Я также использую последний файл jqGrid css

Ответы [ 2 ]

2 голосов
/ 14 июня 2011

Причина мне кажется неправильными эффектами наведения, включенными в jqGrid 4.1.0 для элемента <span> с иконками сохранения и отмены:

onmouseover=jQuery(this).addClass('ui-state-hover');
onmouseout=jQuery(this).removeClass('ui-state-hover');

см. Исходный код jquery.fmatter.js .

Если я правильно понимаю проблему, добавление класса 'ui-state-hover' заменяет background-position на 50% 50%, поэтому значки диска (ui-icon-disk) или значок отмены (ui значок-отмена) больше не будет отображаться. Вместо этого в середине отображается фоновое изображение .

Поэтому я предлагаю просто удалить эффекты наведения внутри loadComplete:

loadComplete: function() {
    $("div.ui-inline-save > span.ui-icon-disk, div.ui-inline-cancel > span.ui-icon-cancel").each(function() {
        this.onmouseover = null;
        this.onmouseout = null;
    });
}

См. демо .

ОБНОВЛЕНО: : Я нашел лучший способ исправить проблему. Сначала мы можем определить функции iconHoverFixed и iconNotHoverFixed следующим образом

var iconHoverFixed = function(e) {
        jQuery(this).addClass('ui-state-hover');
        jQuery('span',this).removeClass('ui-state-hover');
    },
    iconNotHoverFixed = function(e) {
        jQuery(this).removeClass('ui-state-hover');
    };

и тогда мы можем решить проблему зависания так:

loadComplete: function() {
    $("div.ui-inline-save, div.ui-inline-cancel").each(function() {
        this.onmouseover = iconHoverFixed;
        this.onmouseout = iconNotHoverFixed;
    });
}

Смотрите новую демонстрацию здесь или здесь .

1 голос
/ 14 июня 2011

Похоже, вам нужно обновить jquerygrid css и папку с изображениями, в которых изображение создается со смещением внутри изображения (Sprite) http://www.trirand.com/blog/jqgrid/themes/redmond/images/ui-icons_6da8d5_256x240.png, и в вашем случае оно не находит нужного места

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