2015-10-27 2 views
0

Есть ли способ сообщить jQuery о том, что только те объекты, которые отключены?Jquery on click input не работает, если вход отключен

https://jsfiddle.net/o80cqp4h/

$(document).on("click", "input", function() { 
    console.log('click'); 
    $(this).prop('disabled', false); 
}); 
+0

Отключение элемента устраняет возможность щелкнуть по нему. Подумайте о кнопке, чтобы отключить кнопку, чтобы ее нельзя было щелкнуть. –

+0

Проблема с disabled = "disabled", вы никогда не сможете вызвать событие click. – DinoMyte

ответ

1

JQuery игнорирует щелчки на элементах с ограниченными физическими возможностями (вроде), поэтому хитрость заключается в том, чтобы обнаружить щелчок выше цепи, а затем выяснить, было ли это на входном элементе:

$(document).on("click", function (e) { 
    $clicked = $(e.toElement); 
    if ($clicked.is("input:disabled")) { 
     $clicked.prop('disabled', false); 
    } 
}); 

Если вам нужно поддерживать firefox, вы должны получить даже хакерство.

https://jsfiddle.net/o80cqp4h/3/ < - с поддержкой Firefox

https://jsfiddle.net/o80cqp4h/1/

+0

Не работает для меня в firefox – JiFus

+0

Ahh firefox, просто добавил действительно хакерское решение для поддержки этого – dave

+0

ну, не совсем. Я не могу изменить значение ввода после того, как он «стал активным». – JiFus