2013-03-22 3 views
3

Мне нужно прикрепить функцию к флажку, чтобы щелчок не делал ничего. Как это возможно? Я не хочу, чтобы он был серым, я просто хочу остановить его от того, чтобы его можно было использовать.Как игнорировать клики для флажков?

+1

Какую цель тогда служить? – Jack

+1

IE имеет фильтр двойного щелчка, так сказать, чтобы флажки с двойным щелчком регистрировались только одним щелчком. Это случается также с тем, чтобы люди не переключали флажки очень быстро, что является особенностью, которая мне нужна для моего приложения, как ни странно. Поэтому я просто отменяю свои функции по умолчанию и щелкаю клики вручную с помощью JavaScript/jQuery и переключая его таким образом, тем самым устраняя «ограничение скорости». Кроме того, я не знаю, как остановить щелчки, переключая его, в первую очередь, поэтому этот вопрос. – Aerovistae

+1

Интересная проблема. – Jack

ответ

6

Если вы хотите быть переключаемыми, просто прикрепить слушатель событий следующим образом:

$('#checkboxId').on('click', function(e) { 
    e.preventDefault(); 
    e.stopPropagation(); 
}); 

Примечания: Это тот же эффект, что и возвращение false:

$('#checkboxId').on('click', function(e) { 
    return false; 
}); 
-1

Я не уверен, что это именно то, что вы хотите, но это отключает флажок с помощью JQuery.

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

Для не-серого solution:

$("input:checkbox").click(function() { return false; }); 
+0

Я думаю, что он хочет щелкнуть (function() {return false}. –

1

попробовать что-то вроде этого:

<input type="checkbox" onClick="this.checked=!this.checked" /> 
0
$('input[type=checkbox]').click(function(){return false;}); 

просто возвращает ложь на событие щелчка, рабочего образца: http://jsfiddle.net/Sh8Zu/

0

попробовать это,

<input type="checkbox" onChange="return checkChange(this)" id="checkid"/> 
function checkChange(obj) 
    { 

obj.checked=false; 
} 
Смежные вопросы