복붙노트

[JQUERY] jQuery를 무력화 링크

JQUERY

jQuery를 무력화 링크

해결법


  1. 1.

    $('#myLink').click(function(e) {
        e.preventDefault();
        //do other stuff when a click happens
    });
    

    즉, 지정된 HREF를 방문하는 것입니다 하이퍼 링크의 기본 동작을 방지 할 수 있습니다.

    JQuery와 튜토리얼 :

    당신이로 preventDefault하려는 경우 () 특정 조건 (문제가 예를 들어 숨겨져)을 충족하는 경우에만, 당신은 확장 클래스와 UL의 가시성을 테스트 할 수 있습니다. 이 보이면 문을 입력하지 않을 경우로 링크가 정상적으로 발사한다 (즉 숨겨지지), 따라서 기본 동작을 방지 할 수 없습니다 :

    $('ul li').click(function(e) {
        if($('ul.expanded').is(':hidden')) {
            e.preventDefault();
            $('ul').addClass('expanded');
            $('ul.expanded').fadeIn(300);
        } 
    });
    

  2. 2.이 시도:

    이 시도:

    $("a").removeAttr('href');
    

    편집하다-

    업데이트 된 코드에서 :

     var location= $('#link1').attr("href");
     $("#link1").removeAttr('href');
     $('ul').addClass('expanded');
     $('ul.expanded').fadeIn(300);
     $("#link1").attr("href", location);
    

  3. 3.나 같은 구글을 ​​통해 여기에 온 다른 사람들을 위해 - 여기에 또 다른 방법입니다 :

    나 같은 구글을 ​​통해 여기에 온 다른 사람들을 위해 - 여기에 또 다른 방법입니다 :

    css:
    .disabled {
      color: grey; // ...whatever
    }
    
    jQuery:
    $('#myLink').click(function (e) {
      e.preventDefault();
      if ($(this).hasClass('disabled'))
        return false; // Do something else in here if required
      else
        window.location.href = $(this).attr('href');
    });
    
    // Elsewhere in your code
    if (disabledCondition == true)
      $('#myLink').addClass('disabled')
    else
      $('#myLink').removeClass('disabled')
    

    기억뿐만 아니라이 CSS 클래스입니다

    뿐만 아니라이 두

    그래서 당신은 쉽게 추가 및 jQuery를 더욱 클래스를 제거 할 수 있습니다. 필요가 href가 만지지합니다 ...

    내가 jQuery를 사랑 해요! ;-)


  4. 4.여기에 나는 그것의 간결성 최소화 스크립트에 대한 선호 대체 CSS / jQuery를이 솔루션입니다 :

    여기에 나는 그것의 간결성 최소화 스크립트에 대한 선호 대체 CSS / jQuery를이 솔루션입니다 :

    CSS :

    a.disabled {
      opacity: 0.5;
      pointer-events: none;
      cursor: default;
    }
    

    jQuery를 :

    $('.disableAfterClick').click(function (e) {
       $(this).addClass('disabled');
    });
    

  5. 5.당신은 다음에 의한 링크에 대한 클릭을 제거 할 수 있습니다;

    당신은 다음에 의한 링크에 대한 클릭을 제거 할 수 있습니다;

    $('#link-id').unbind('click');
    

    당신은, 다음으로 링크를 다시 활성화 할 수 있습니다

    $('#link-id').bind('click');
    

    당신은 링크 '장애인'속성을 사용할 수 없습니다.


  6. 6.당신은 HREF 경로를가는 경우에, 당신은 그것을 저장할 수 있습니다

    당신은 HREF 경로를가는 경우에, 당신은 그것을 저장할 수 있습니다

    사용하지 않으려면 :

    $('a').each(function(){
        $(this).data("href", $(this).attr("href")).removeAttr("href");
    });
    

    그런 다음 사용하여 다시 활성화 :

    $('a').each(function(){
        $(this).attr("href", $(this).data("href"));
    });
    

    한 경우에는 내가 클릭 이벤트가 이미 다른 곳에 묶여 내가 통제 할 없었했기 때문에 이런 식으로해야했다.


  7. 7.나는 항상 링크를 비활성화하는 jQuery를이를 사용

    나는 항상 링크를 비활성화하는 jQuery를이를 사용

    $("form a").attr("disabled", "disabled");
    

  8. 8.HTML 링크의 예 :

    HTML 링크의 예 :

            <!-- boostrap button + fontawesome icon -->
            <a class="btn btn-primary" id="BT_Download" target="blank" href="DownloadDoc?Id=32">
            <i class="icon-file-text icon-large"></i>
            Download Document
            </a>
    

    jQuery를이를 사용

        $('#BT_Download').attr('disabled',true);
    

    CSS를이 추가 :

        a[disabled="disabled"] {
            pointer-events: none;
        }
    

  9. 9.기능에 내 즐겨 찾기 "체크 아웃에있는 동안 체크 아웃 편집에 대한 항목은 anywhere-에 사나운 야생 서쪽 클릭을 방지"

    기능에 내 즐겨 찾기 "체크 아웃에있는 동안 체크 아웃 편집에 대한 항목은 anywhere-에 사나운 야생 서쪽 클릭을 방지"

    $('a').click(function(e) {
        var = $(this).attr('disabled');
        if (var === 'disabled') {
            e.preventDefault();
        }
    });
    

    내가 전술 한 바와 같이 "편집 모드"에서, 내가 편집 기능에 추가 할 것입니다 동안 두 번째 작업 도구 모음에있는 모든 외부 링크를 사용하지 않도록합니다 그래서 경우

    $('#actionToolbar .external').attr('disabled', true);
    

    화재 후 예를 링크 :

    <a href="http://goo.gl" target="elsewhere" class="external" disabled="disabled">Google</a>
    

    그리고 지금 당신은 링크가 비활성화 속성을 사용할 수 있습니다

    건배!


  10. 10.당신은 여기에서 답을 찾아야한다.

    당신은 여기에서 답을 찾아야한다.

    이 우아한 솔루션에 대한 감사 @Will 및 @ 매트.

    jQuery('#path .to .your a').each(function(){
        var $t = jQuery(this);
        $t.after($t.text());
        $t.remove();
    });
    

  11. 11.당신은 숨기기를 할 수 있고 당신과 링크 등을 보여

    당신은 숨기기를 할 수 있고 당신과 링크 등을 보여

    $(link).hide();
    $(link).show();
    

  12. 12.그냥 트리거 물건, 일부 플래그, 반환 거짓을 설정합니다. 플래그가 설정되어있는 경우 - 아무것도하지 않습니다.

    그냥 트리거 물건, 일부 플래그, 반환 거짓을 설정합니다. 플래그가 설정되어있는 경우 - 아무것도하지 않습니다.


  13. 13.나는이 jQuery를하지 알고하지만 당신은 몇 가지 간단한 CSS로 링크를 비활성화 할 수 있습니다 :

    나는이 jQuery를하지 알고하지만 당신은 몇 가지 간단한 CSS로 링크를 비활성화 할 수 있습니다 :

    a[disabled] {
      z-index: -1;
    }
    

    HTML과 같을 것이다

    <a disabled="disabled" href="/start">Take Survey</a>
    

  14. 14.() 때어 대신 오프 () 메소드를 사용하여, jQuery를 3이 사용됩니다 :

    () 때어 대신 오프 () 메소드를 사용하여, jQuery를 3이 사용됩니다 :

    $("a").off("click");
    

  15. 15.이것은 온 클릭 속성 세트 인라인이 링크를 사용할 수 있습니다. 이것은 또한 나중에 활성화하기 위해 "반환 false"로 제거 할 수 있습니다.

    이것은 온 클릭 속성 세트 인라인이 링크를 사용할 수 있습니다. 이것은 또한 나중에 활성화하기 위해 "반환 false"로 제거 할 수 있습니다.

            //disable all links matching class
            $('.yourLinkClass').each(function(index) {
                var link = $(this);
                var OnClickValue = link.attr("onclick");
                link.attr("onclick", "return false; " + OnClickValue);
            });
    
            //enable all edit links
            $('.yourLinkClass').each(function (index) {
                var link = $(this);
                var OnClickValue = link.attr("onclick");
                link.attr("onclick", OnClickValue.replace("return false; ", ""));
            });
    

  16. 16.그냥 설정에서 preventDefault 및 반환 거짓

    그냥 설정에서 preventDefault 및 반환 거짓

       $('#your-identifier').click(function(e) {
            e.preventDefault();
            return false;
        });
    

    이것은 장애인 링크가 될 것입니다하지만 여전히, 당신은 클릭 할 수있는 아이콘 (손) 아이콘이 표시됩니다. 아래로 그것도을 제거 할 수 있습니다

    $('#your-identifier').css('cursor', 'auto');
    

  17. 17.그냥 ( "A") ( "장애인"참). 소품을 $를 사용 ;. 이 정말 비활성화 드 링크 요소는 것이다. 요구는 ( "장애인"참) 소품이 될 수 있습니다. ATTR 사용하지 마십시오 ( "장애인", TRUE)

    그냥 ( "A") ( "장애인"참). 소품을 $를 사용 ;. 이 정말 비활성화 드 링크 요소는 것이다. 요구는 ( "장애인"참) 소품이 될 수 있습니다. ATTR 사용하지 마십시오 ( "장애인", TRUE)

  18. from https://stackoverflow.com/questions/970388/jquery-disable-a-link by cc-by-sa and MIT license