如果...那么这段代码的语句呢?
$('body').on('click', '.icon-lock', function () {
var lockedarea = $(this).parents(0).eq(2);
$(lockedarea).find('input[type=text],input[type=checkbox],textarea,select').prop('disabled', true);
});
现在,当我单击它时,只要这些输入变得不可编辑,我想要发生的事情就会发生。但是我想说的是,如果按下此按钮,就会发生这种情况。如果再次按下,则 .prop('disabled', false)。然而,由于我刚刚开始,在做这种事情时我很容易感到困惑。
您需要跟踪是否要在某种变量中禁用它。试试这个:
var disable = true;
$('body').on('click', '.icon-lock', function () {
var lockedarea = $(this).parents(0).eq(2);
$(lockedarea).find('input[type=text],input[type=checkbox],textarea,select').prop('disabled', disable);
disable = !disable;
});
使用一些flag
:
var isDisabled = false;
$('body').on('click', '.icon-lock', function () {
var lockedarea$ = $(this).parents(0).eq(2),
inputs$ = lockedarea$.find('input[type=text],input[type=checkbox],textarea,select');
if ( isDisabled ) {
isDisabled = false;
inputs$.prop('disabled', false);
} else {
isDisabled = true;
inputs$..prop('disabled', true);
}
});
只需将当前.prop
替换为以下内容:
.prop('disabled', function (_, val) { return ! val; });