Firefox не показывает всплывающие подсказки на отключенных полях ввода

Firefox не отображает всплывающие подсказки в отключенных полях.

в IE/Chrome/Safari, кроме Firefox, отображается следующая подсказка:

<input type="text" disabled="disabled" title="tooltip text."/>

почему Firefox не отображает всплывающую подсказку на отключенных полях? Есть ли работа вокруг этого?

6 ответов


кажется (очень старая и заброшенная) ошибка. См. Ошибки Mozilla #274626 #436770

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

один ужасный обходной путь, который приходит на ум, чтобы перекрыть кнопку с невидимым div с title атрибут с помощью z-index; другой, чтобы как-то повторно активировать кнопку "onmouseover", но ловко перехватить и выбросить любой click событие на эту кнопку.


Я думаю, вы используете некоторые фреймворки, такие как загрузки. Если да, то добавьте pointer-events: none к элементу 'disabled', поэтому все события мыши игнорируются.

.btn[disabled] {
  pointer-events: auto !important;
}

может исправить проблему.


вы можете обойти это с помощью кода jQuery, например:

    if ($.browser.mozilla) {
        $(function() {
            $('input[disabled][title]')
                .removeAttr('disabled')
                .addClass('disabled')
                .click(function() {return false})
            })
    }

вещь Z-индексирования может быть выполнена следующим образом:

  .btnTip

  {

     position: absolute;

     left: 0%;

     right: 0%;

     z-index: 100;

     width: 50px;

     /*background-color: red;*/

     height: 17px;

  }

(...)

<div style="background-color: gray; width: 400px;">

  Set width of the tip-span to the same as the button width.

  <div style="text-align: center;">

     <span style="position:relative;">

        <span class="btnTip" title="MyToolTip">&nbsp;</span>

        <input type="button" name="" disabled="disabled" value="Save" style="width: 50px;height:17px;" />                                         

     </span>

  </div>             

влево и вправо помогает расположить хост поверх отключенного элемента. Z-индекс определяет, в какой слой вы помещаете элемент.

чем больше число z-слоя, тем больше "сверху" он будет.

должен быть установлен z-индекс узла и/или отключенного элемента динамично.

когда отключенный элемент отключен, вы хотите, чтобы хост всплывающей подсказки был сверху и наоборот-по крайней мере, если вы хотите иметь возможность щелкнуть элемент (кнопку), когда он не отключен.


я столкнулся с подобной проблемой, и я мог бы исправить это, используя juery и Малый класс css, вам потребуется создать два новых элемента span и класс css, которые выглядят следующим образом

просто добавьте их в общий файл JS и css, который используется во всем приложении или веб-сайте

.DisabledButtonToolTipSpan
{
position    :absolute;
z-index     :1010101010;
display     :block;
width       :100%;
height      :100%;
top         :0;         
}

для отображения всплывающей подсказки для отключенной кнопки в браузере firefox.

$(window).load(function() {
    if ($.browser.mozilla) {
                $("input").each(function() {
                    if ((this.type == "button" || this.type == "submit") && this.disabled) {

                        var wrapperSpan = $("<span>");
                        wrapperSpan.css({ position: "relative" });
                        $(this).wrap(wrapperSpan);

                        var span = $("<span>");
                        span.attr({
                            "title": this.title,
                            "class": "DisabledButtonToolTipSpan"
                        });
                        $(this).parent().append(span);
                    }
                });
            }
        });

надеюсь, это поможет, Притхэм.


вы можете использовать javascript. Используйте событие mouseover.

(многие библиотеки, такие как JQuery и Mootools, имеют Плагины подсказок. Используя их, вы даже можете стилизовать всплывающие подсказки).