2013-06-13 2 views
-1

Im пытается отвязать вызов клика на элементе, а затем отвязать unbind. Я знаю, что я могу использовать обработчик для обработки каждого и каждый клик, но им с помощью отвязать слишком много элементов, используя, например:Jquery re-binding каждый элемент I unbinded

$(".classname").unbind('click'); 

и поэтому я могу позволить себе просто писать 1 по одному, любой другой эстетический способ и способ более эффективны, чем писать его 1 на 1? Спасибо.

EDIT:

подробный пример: я получил много кнопок, которые все имеют тот же класс CSS, , когда я нажимаю 1 определенную кнопку, мне нужно все остальное, чтобы быть unbinded от щелкать их. после того, как кнопка, которую я нажала, закончила его purpese, мне нужно снова связать все события щелчка. Thats is what i ment, когда я сказал unbind unbind.

+2

что отвязывает развязку. – PSR

+0

Можете ли вы разместить более подробную информацию? Как ваши обработчики связаны в первую очередь? Можем ли мы увидеть исходный код? –

+0

@PSR я редактировал вопрос. –

ответ

1

Если вы отвязать свои кнопки, чтобы избежать мульти-вызова функции, почему вы не определить глобальную логическую переменную как inProcess. Вы проверяете, было ли это true или false в начале вашей функции, и все готово!

Как это:

var inProcess = false; 
function myFunction() { 
    if (!inProcess) { 
     inProcess = true; 
     // some logic code here 
     inProcess = false; 
    } 
    return; 
} 

Это почти тот же самый процесс, но это легче для вашего браузера, чем «привязки»/«UNBIND» множественным времени.

+0

кажется законным, как говорится –

0

Мне кажется, что вы хотите, чтобы несколько элементов имели события щелчка, а не остальные. Чтобы достичь этого, просто дайте элементам произвольное имя класса, чтобы вы могли использовать его как селектор jQuery.

<p class="classname">Some element</p> 
<p class="classname">Some element</p> 
<p class="classname">Some element</p> 
<p class="classname arbitraryclassname">Some element</p> 
<p class="classname arbitraryclassname">Some element</p> 
<p class="classname arbitraryclassname">Some element</p> 

Затем в Jquery использовать

$(".arbitraryclassname").bind('click', function() { 
    // Some logic 
}); 
Смежные вопросы