jquery - disable click

后端 未结 7 1192
忘掉有多难
忘掉有多难 2020-12-04 15:27

I just want to disable the ability for a user to click on an element for some condition. Here is some of the code I am working with:

     $(\'#navigation a\         


        
相关标签:
7条回答
  • 2020-12-04 15:50

    Raw Javascript can accomplish the same thing pretty quickly also:

    document.getElementById("myElement").onclick = function() { return false; } 
    
    0 讨论(0)
  • 2020-12-04 15:59

    You can use unbind method to remove handler that has been attached...

    if (current = 1){ 
       $('li:eq(2)').unbind('click');
    }
    

    You can check what can unbind do ? Unbind manual

    0 讨论(0)
  • 2020-12-04 16:00

    /** eworkyou **//

    $('#navigation a').bind('click',function(e){
    
        var $this   = $(this);
        var prev    = current;
    
        current = $this.parent().index() + 1; //
    
        if (current == 1){
        $("#navigation a:eq(1)").unbind("click"); // 
        }
        if (current >= 2){
        $("#navigation a:eq(1)").bind("click"); // 
        }
    
    0 讨论(0)
  • 2020-12-04 16:06

    If you're using jQuery versions 1.4.3+:

    $('selector').click(false);
    

    If not:

    $('selector').click(function(){return false;});
    
    0 讨论(0)
  • 2020-12-04 16:06

    I used .prop('disabled', true) and it worked like a charm, no redefining, simple.

    Had to time it out by 125ms as it interfered with the prop from Bootstrap Dropdown.

    0 讨论(0)
  • assuming your using click events, just unbind that one.

    example

    if (current = 1){ 
        $('li:eq(2)').unbind("click");
    }
    

    EDIT: Are you currently binding a click event to your list somewhere? Based on your comment above, I'm wondering if this is really what you're doing? How are you enabling the click? Is it just an anchor(<a> tag) ? A little more explicit information will help us answer your question.

    UPDATE:

    Did some playing around with the :eq() operator. http://jsfiddle.net/ehudokai/VRGfS/5/

    As I should have expected it is a 0 based index operator. So if you want to turn of the second element in your selection, where your selection is

    $("#navigation a")
    

    you would simply add :eq(1) (the second index) and then .unbind("click") So:

    if(current == 1){
        $("#navigation a:eq(1)").unbind("click");
    }
    

    Ought to do the trick.

    Hope this helps!

    0 讨论(0)
提交回复
热议问题