Отключение элемента в jquery 1.6

С выпуском jQuery 1.6 рекомендация по SO была в целом начать использовать prop() где вы использовали attr(),

Что происходит, когда я хочу отключить элемент?

$('.control').prop('disabled', 'disabled');
$('.control').prop('disabled', true);

Кажется, ни один из них не отключает управление. Является ли отключение элемента исключением из правила?

ОБНОВЛЕНИЕ И оказывается, что причина, по которой элемент не был отключен, была из-за строки, которая была у меня до строк выше:

$('.control').removeProp('disabled');

При включении элементов управления я привык использовать.removeAttr(), поэтому подумал, что.removeProp будет достаточно. Вместо этого используйте следующее, чтобы включить элементы управления:

$('.control').prop('disabled', false);

3 ответа

Решение

Убедитесь, что у вас нет .removeProp('disabled') на элементе, который вы пытаетесь отключить.

$('.control').prop('disabled', true);

отлично работает для меня

Альтернативно использовать

$('.control').attr('disabled', 'disabled');

Обновить:

Но даже $('.control').prop('disabled', 'disabled'); или же $('.control').attr('disabled', true); отключить элемент тоже. Так что, если это не работает для вас, вопрос в том, какой элемент вы пытаетесь отключить. Это может быть даже отключено?

Использование .prop('disabled', true),

http://jsfiddle.net/mattball/BaLHf/

Другие вопросы по тегам