'Отключен' действительный атрибут для тега привязки

Мы столкнулись с аналогичной проблемой, и оказалось, что у нас есть 2 несовместимые версии баков slf4j в пути к классам. Путь к классу имел следующие две несовместимые версии. После удаления нижних версий из пути к классам проблема была исправлена.

slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar

slf4j-api- 1.5.11.jar slf4j-log4j12-1.5.11.jar

38
задан basarat 11 September 2014 в 06:51
поделиться

1 ответ

Удаление href или установка его к '#', когда Вы на самом деле хотите отключить его, являются своего рода болью, если привязка должна быть включена позже, потому что необходимо сбросить href к любому значению, с которым он должен связаться. Вместо этого я просто добавляю запрещать атрибут к тегу и обработчику события Click и некоторой CSS. Таким образом, привязка, как может легко замечаться, отключена, но, если включено, куда она пошла бы.

Да, отключенный не поддерживается, атрибут вкладкой привязки, но CSS приписывает селектор, действительно находит его и jQuery - также. Так, в то время как следующим решением является смешанный jQuery/javaScipt/CSS, оно действительно обеспечивает несколько более хороший способ отключить/разрешить привязки, который поддерживает динамично добавление/удаление отключенного атрибута к/от тегу с JavaScript. Обратите внимание, что это было только протестировано и, как находили, работало в Chrome.

<style>
  a:disabled,               /* This doesn't do anything, but hopefully one day ... */
  a[disabled]               /* This activates when the disabled attribute is added. */
    {
      cursor: not-allowed;  /* Indicate that the link is not to be click! */
    }
</style>

<script>
  // Use the same css selectors to find all of the disabled anchors ...

  $( 'a:disabled, a[disabled]' )
  .click( function( event ) {

            //
            // Prevent disabled anchors from doing their click action ...
            //
            // Need to recheck that the anchor is still disabled, because the
            // jQuery that initially found this anchor and set this event
            // handler doesn't affect the anchor after the event is set.
            //

            // Is this anchor still disabled?

            if( this.hasAttribute( 'disabled' ) ) {

              event.preventDefault();

            }

          } );
</script>

Вот codePen демонстрация: https://codepen.io/howardb1/pen/XWrEKzP

0
ответ дан 27 November 2019 в 01:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: