Подтвердить что ты не робот

Jquery - отключить клик

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

     $('#navigation a').bind('click',function(e){

    var $this   = $(this);
    var prev    = current;

    current = $this.parent().index() + 1; // store the position in current

    if (current == 1){
    $("#navigation a:eq(1)").unbind("click"); // i want to disable the ability to click this element if current is 1
    }
    if (current >= 2){
    $("#navigation a:eq(1)").bind("click"); // this is wrong, but I want to rebind the click if current is greater than 1.  
    }

}

4b9b3361

Ответ 1

Если вы используете jQuery версии 1.4.3 +:

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

Если нет:

$('selector').click(function(){return false;});

Ответ 2

Предполагая, что вы используете события click, просто отвяжите его.

Пример

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

EDIT: Вы в настоящее время привязываете событие click к своему списку? Основываясь на вашем комментарии выше, мне интересно, действительно ли это то, что вы делаете? Как вы включаете клик? Это просто привязка (тег <a>)? Немного более подробная информация поможет нам ответить на ваш вопрос.

UPDATE:

Было ли некоторое воспроизведение с помощью оператора: eq(). http://jsfiddle.net/ehudokai/VRGfS/5/

Как и следовало ожидать, это индексный оператор на основе 0. Поэтому, если вы хотите включить второй элемент в свой выбор, где ваш выбор

$("#navigation a")

вы просто добавили бы: eq (1) (второй индекс), а затем .unbind("click") Итак:

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

Должен сделать трюк.

Надеюсь, это поможет!

Ответ 3

Raw Javascript также может быстро выполнить одно и то же:

document.getElementById("myElement").onclick = function() { return false; } 

Ответ 4

Вы можете использовать метод unbind для удаления обработчика, который был прикреплен...

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

Вы можете проверить, что можно отменить? Отменить привязку

Ответ 5

Используйте метод off() после срабатывания события click, чтобы отключить элемент для дальнейшего щелчка.

$('#clickElement').off('click');