考虑下面的jquery代码,单击 input1 input2 后,单击处理程序事件将被删除。单击 input3 并再次启用该元素时,单击处理程序会发生什么? 我一直在做的一些测试表明它不再存在,如果它已被删除,我如何在下面的情况下重新启用它?
<input id="input1">
<input id="input2">
<input id="input3">
$("#input1").on('click', function() {
$("#input2").prop('disabled', 'true');
// do something
});
$("#input3").on('click', function() {
$("#input2").prop('disabled', 'false');
});
$("#input2").on('click', function() {
// do something
});
答案 0 :(得分:1)
您对prop的使用不正确。它需要disabled
属性的布尔值。使用字符串"true"
和"false"
将始终评估为true
。
$("#input1").on('click', function() {
$("#input2").prop('disabled', true);
// do something
});
$("#input3").on('click', function() {
$("#input2").prop('disabled', false);
});
$("#input2").on('click', function() {
// do something
});
答案 1 :(得分:0)
使用如下
$("#input1").on('click', function() {
$("#input2").prop('disabled', 'disabled');
// do something
});
$("#input3").on('click', function() {
$("#input2").removeAttr('disabled');
});
$("#input2").on('click', function() {
// do something
});