我想在加载时禁用div,然后单击按钮启用它。 或者换句话说,我想在加载时隐藏它,并在用户点击时加载它。
首先,这是一个正确的策略,在禁用模式下加载div然后启用它,还是我应该在加载后将它附加到正文?
其次,这是我的代码,我检查了很多类似的问题,我的浏览器是chrome,但它不起作用,我不知道为什么你可以帮我解决这个问题?
<div class="test_dis" style="left:170px; top:128px;" >
this is a test to see if
i can disable it on load or not
<div>child </div>
</div>
$(document).load(function(e) { // shall it be on Load or Ready ?
//.attr("disabled","disabled"); both are not working !
$('.test_dis').attr('disabled',true);
});
谢谢,
答案 0 :(得分:4)
它无效,因为您无法禁用div
元素。这仅适用于表单元素。
“以下元素支持禁用的属性:BUTTON,INPUT, OPTGROUP,OPTION,SELECT和TEXTAREA。“
对于禁用的元素,您应该设置HTML属性,以便在创建元素时禁用该元素,而不是在创建元素后禁用它。例如:
<input type="text" name="Info" disabled="disabled" />
ready
事件发生的时间早于load
事件,因此您无法直接在HTML元素中进行任何调整,您应该在ready
事件中执行此操作。文档加载时会发生ready
事件,而当页面上的所有内容(图像等等)也已加载时,load
事件就会发生。
答案 1 :(得分:0)
隐藏它?
$(document).ready(function() {
$('.test_dis').hide();
});
答案 2 :(得分:0)
隐藏它会起作用,但需要一个相同尺寸和容量的容器。定位,例如。
<div class="test_dis_container" style="left:170px; top:128px;" >
然后向容器添加一个函数,以便您可以在单击时显示div:
$(document).ready(function() {
$('.test_dis').hide();
$('.test_dis_container').click(function() {
$('.test_dis').show();
}
});
答案 3 :(得分:0)
HTML:
"[Lcom.example.A;"
JS / jQuery:
<p>
Click to change: <input id="toggleElement" type="checkbox" name="toggle" onchange="toggleStatus()" />
</p>
<div id="elementsToOperateOn">
This is our example div block. <br />
Sample Text Box: <input type="text" name="name" /> <br />
Sample Checkbox : <input type="checkbox" name="participate" />
........
</div>
来源:Disable And Enable Input Elements In A Div Block Using jQuery