복붙노트

[JQUERY] 어떻게 활성화 또는 jQuery를 사용하여 앵커를 해제하는 방법?

JQUERY

어떻게 활성화 또는 jQuery를 사용하여 앵커를 해제하는 방법?

해결법


  1. 1.지정된 HREF를 다음에서 앵커를 방지하기 위해, 나는에서 preventDefault ()를 사용하는 것이 좋습니다 것입니다 :

    지정된 HREF를 다음에서 앵커를 방지하기 위해, 나는에서 preventDefault ()를 사용하는 것이 좋습니다 것입니다 :

    // jQuery 1.7+
    $(function () {
        $('a.something').on("click", function (e) {
            e.preventDefault();
        });
    });
    
    // jQuery < 1.7
    $(function () {
        $('a.something').click(function (e) {
            e.preventDefault();
        });
    
        // or 
    
        $('a.something').bind("click", function (e) {
            e.preventDefault();
        });
    });
    

    보다:

    http://docs.jquery.com/Events/jQuery.Event#event.preventDefault.28.29

    또한 SO에이 앞의 질문을 참조하십시오

    jQuery를 무력화 링크


  2. 2.내가 현재 일하고 있어요 응용 프로그램은 자바 스크립트와 함께 CSS 스타일로 않습니다.

    내가 현재 일하고 있어요 응용 프로그램은 자바 스크립트와 함께 CSS 스타일로 않습니다.

    a.disabled { color:gray; }
    

    내가 링크 I 호출을 사용하지 않을 그런 때마다

    $('thelink').addClass('disabled');
    

    그런 다음에 대한 클릭 핸들러에서 'thelink'나는 항상 체크 제일 먼저 실행 태그

    if ($('thelink').hasClass('disabled')) return;
    

  3. 3.나는 더 나은 여기에 좋아하는 답변을 찾을

    나는 더 나은 여기에 좋아하는 답변을 찾을

    다음과 같습니다 :

    $(document).ready(function(){
        $("a").click(function () { 
            $(this).fadeTo("fast", .5).removeAttr("href"); 
        });
    });
    

    href 속성을 설정 포함 것이다 활성화

    $(document).ready(function(){
        $("a").click(function () { 
            $(this).fadeIn("fast").attr("href", "http://whatever.com/wherever.html"); 
        });
    });
    

    이렇게하면 앵커 요소는 일반 텍스트, 그 반대가되는 모양을 제공합니다.


  4. 4.

    $("a").click(function(){
                    alert('disabled');
                    return false;
    
    }); 
    

  5. 5.나는 더 좋은 솔루션이 클릭에 대한 검사에 앵커 장애인 데이터 속성을 설정하는 것입니다 생각합니다. 우리가 예를 들어, 때까지 일시적으로 닻을 해제 할 수 있습니다이 방법 자바 스크립트는 아약스 전화 또는 일부 계산이 완료됩니다. 우리가 그것을 해제하지 않으면 우리는 빨리에게 바람직하지 않다 몇 번을 클릭 할 수 있습니다 ...

    나는 더 좋은 솔루션이 클릭에 대한 검사에 앵커 장애인 데이터 속성을 설정하는 것입니다 생각합니다. 우리가 예를 들어, 때까지 일시적으로 닻을 해제 할 수 있습니다이 방법 자바 스크립트는 아약스 전화 또는 일부 계산이 완료됩니다. 우리가 그것을 해제하지 않으면 우리는 빨리에게 바람직하지 않다 몇 번을 클릭 할 수 있습니다 ...

    $('a').live('click', function () {
        var anchor = $(this);
    
        if (anchor.data("disabled")) {
            return false;
        }
    
        anchor.data("disabled", "disabled");
    
        $.ajax({
            url: url,
            data: data,
            cache: false,
            success: function (json) {
                // when it's done, we enable the anchor again
                anchor.removeData("disabled");
            },
            error: function () {
                 // there was an error, enable the anchor
                anchor.removeData("disabled");
            }
        });
    
        return false;
    });
    

    나는 jsfiddle 예를했다 : http://jsfiddle.net/wgZ59/76/


  6. 6.선택한 답변 좋지 않다.

    선택한 답변 좋지 않다.

    포인터 이벤트 CSS 스타일을 사용합니다. (AS 라샤드 Annara 제안)

    참조 MDN https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events. 그것의 대부분의 브라우저에서 지원.

    당신은 다음과 같은 글로벌 CSS 규칙이있는 경우 앵커에 대한 간단한 추가 "장애인"속성은 일을 할 것입니다 :

    a[disabled], a[disabled]:hover {
       pointer-events: none;
       color: #e1e1e1;
    }
    

  7. 7.라인 아래를보십시오

    라인 아래를보십시오

    $("#yourbuttonid").attr("disabled", "disabled");
    $("#yourbuttonid").removeAttr("href");
    

    사촌, 당신은 또한 HREF 제거해야합니다 있도록 비활성화 태그의 HREF가 작동하더라도.

    당신은 선 아래 시도를 가능하게하려는 경우

    $("#yourbuttonid").removeAttr("disabled");
    $("#yourbuttonid").attr("href", "#nav-panel");
    

  8. 8.그것은 반환 허위로 간단입니다;

    그것은 반환 허위로 간단입니다;

    전의.

    jQuery("li a:eq(0)").click(function(){
       return false;
    })
    

    또는

    jQuery("#menu a").click(function(){
       return false;
    })
    

  9. 9.

    $('#divID').addClass('disabledAnchor');
    

    CSS 파일에서

    .disabledAnchor a{
           pointer-events: none !important;
           cursor: default;
           color:white;
    }
    

  10. 10.

    $("a").click(function(event) {
      event.preventDefault();
    });
    

    이 메서드를 호출 할 경우, 이벤트의 기본 동작은 트리거되지 않습니다.


  11. 11.이 페이지의 모든 상호 작용을 차단하려는 경우 당신은 jQuery를 BlockUI 플러그인을보고 할 수 있습니다

    이 페이지의 모든 상호 작용을 차단하려는 경우 당신은 jQuery를 BlockUI 플러그인을보고 할 수 있습니다


  12. 12.당신은 정말 당신이 그 (것)들을 사용하지 원하는 방법, 또는 비활성화의 원인이 될지를 지정하지 않았다.

    당신은 정말 당신이 그 (것)들을 사용하지 원하는 방법, 또는 비활성화의 원인이 될지를 지정하지 않았다.

    첫째, 당신은 당신이 jQuery의 속성 기능을 사용하고, 그 기능은 클릭, 또는 문서의 로딩과 같은 이벤트에 일어날 것이다 그것을 위해, 장애인에 값을 설정하는 방법을 알아 내야합니다.


  13. 13.상황에서는 당신은 앵커 태그 내의 텍스트 나 HTML 콘텐츠를 삽입해야합니다,하지만 당신은 단순히 요소 (클릭하면 모든 작업이 당신이 때문에 매기기 링크가 비활성화 상태로 할 때처럼 모든 일에 찍은 싶지 않은 경우 현재 페이지), 단순히 HREF를 잘라. ;)

    상황에서는 당신은 앵커 태그 내의 텍스트 나 HTML 콘텐츠를 삽입해야합니다,하지만 당신은 단순히 요소 (클릭하면 모든 작업이 당신이 때문에 매기기 링크가 비활성화 상태로 할 때처럼 모든 일에 찍은 싶지 않은 경우 현재 페이지), 단순히 HREF를 잘라. ;)

    <a>3 (current page, I'm totally disabled!)</a>
    

    @ 마이클 - 초원에 의한 대답이 나를 밀고 있지만, jQuery를 / JS로 작업에 / 당신은 여전히이 곳에 자신은 여전히 ​​시나리오를 해결했다. 당신이 HTML 자체를 작성을 제어 할 수있는 경우이 솔루션은 순수 HTML의 하나이며이 경우에는 단순히 X-보내고 href를 태그하는 것은, 당신이해야 할 모든입니다!

    href를 유지의 jQuery finagling없이 다른 솔루션은 HREF에 #을 넣어 당신을 필요로하지만 정상에 바운스로 인해 페이지, 당신은 그냥 비활성화 된 일반 싶어요. 아니면이 십오 일에 따라 잘못된 HTML, 그것은 비워두고 있지만, 브라우저에 따라, 아직 물건을 위로 점프처럼 않는 것으로합니다. 그러나 외관상으로는 A 태그는 HREF없이 완전히 유효한 HTML입니다.

    마지막으로, 당신은 말할지도 모른다 : 좋아, 왜 단지보다 아예 태그 덤프하지? 자주는 태그는 CSS 프레임 워크의 목적을 스타일링하거나 부트 스트랩의 매기기처럼 사용하고 제어에 사용 할 수 없기 때문에 :

    http://twitter.github.io/bootstrap/components.html#pagination


  14. 14.위의 답변의 조합 그래서, 나는이 함께했다.

    위의 답변의 조합 그래서, 나는이 함께했다.

    a.disabled { color: #555555; cursor: default; text-decoration: none; }
    
    $(".yourClass").addClass("disabled").click(function(e){ e.preventDefault(); 
    

  15. 15.당신이 앵커 태그로 작동하는 데 필요하지 않은 경우, 나는 전혀 그것을 대체하는 것을 선호합니다. 예를 들면 앵커 태그가 같은 경우

    당신이 앵커 태그로 작동하는 데 필요하지 않은 경우, 나는 전혀 그것을 대체하는 것을 선호합니다. 예를 들면 앵커 태그가 같은 경우

    <a class="MyLink" href="http://www.google.com"><span>My</span> <strong>Link</strong></a>
    

    대신 링크의 표시 텍스트를 필요로 할 때 당신이 할 수있는 JQuery와 다음 사용.

    var content = $(".MyLink").text(); // or .html()
    $(".MyLink").replaceWith("<div>" + content + "</div>")
    

    이런 식으로 그래서, 우리는 단순히 div 태그로 앵커 태그를 대체 할 수 있습니다. 이뿐만 아니라 (단 2 선) 훨씬 쉽고 의미 론적으로 올바른 (그러므로 우리는 링크가 안 지금 링크를 필요로하지 않기 때문에)


  16. 16.비활성화 또는 장애인 속성 모든 요소를 ​​사용합니다.

    비활성화 또는 장애인 속성 모든 요소를 ​​사용합니다.

    // Disable 
    $("#myAnchor").prop( "disabled", true );
    
    // Enable
    $( "#myAnchor" ).prop( "disabled", false );
    
  17. from https://stackoverflow.com/questions/1164635/how-to-enable-or-disable-an-anchor-using-jquery by cc-by-sa and MIT license