jQuery - щелчок переключателя () - PullRequest
2 голосов
/ 09 февраля 2012

Можно ли отключить стандартное действие, выполняемое при нажатии переключателя?(без «отключения» атрибута)

Так что, когда я нажимаю определенную радиокнопку, ничего не происходит.Пробовал .unbind ('click'), но, похоже, не работает.

Ты заранее за помощь

Ответы [ 6 ]

4 голосов
/ 09 февраля 2012

Вы можете использовать метод protectDefault () , предоставляемый объектом event:

$("input:radio").click(function(e) {
    e.preventDefault();
});

РЕДАКТИРОВАТЬ: К сожалению, это не мешает браузеру проверять переключатель, который нажимается первым (jsFiddle находится в режиме «только для чтения», поэтому я не могу опубликовать демо прямо сейчас ).

1 голос
/ 09 февраля 2012

На самом деле, при первом нажатии на радио установлено свойство selected, и поэтому оно отображается как проверенное в браузере (в первый раз).

Таким образом, этот фрагмент кода решит проблему

[Я использую библиотеку jquery]

$('input:radio').click(function(){
$(this).prop('checked',false);
e.preventDefault();
return false;
});
1 голос
/ 09 февраля 2012

Вы можете попробовать это, это остановит распространение:

$("#my-radio-btn").live("click", function(e){
    e.preventDefault();
});
1 голос
/ 09 февраля 2012

Просто попробуйте это.

$('input:radio').click(function(e){
   e.preventDefault();
});

Демо

1 голос
/ 09 февраля 2012

Это должно работать:

$('#myradio').click(function(e) {
  e.preventDefault();
  return false;
});
0 голосов
/ 09 февраля 2012

Вам нужно использовать event.disableDefault в функции, которую вы даете jQuery click.

 $("#my_element").click(
function(event) {
event.preventDefault();
// the rest of your code goes here
}
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...