基本上我希望外部div占用所有事件,因此div中的输入和其他任何内容都不可点击:
<div id="div1">
<div id="div2">
<label>Input 1</label>
<input type="text" id="input1" />
</div>
</div>
$(document).ready(function() {
$(document).on('click', '#input1', function(e){
e.preventDefault();
};
});
以下是非工作示例http://jsfiddle.net/KFWmk/3/
任何帮助表示赞赏:)
答案 0 :(得分:9)
在较新的jQuery(1.6 +)中:
$('div input').prop("readonly", true);
这为div中的所有输入设置HTML readonly
属性为true。
请注意,在jQuery中已弃用.attr()
来设置属性(布尔值为on或off的属性)。
答案 1 :(得分:2)
首先,因为你没有包含jQuery库 第二个因为你有一个类型o 第三,因为焦点是在click事件之前发出的。 (Prove)
如果您想使输入字段不可编辑,可以使用:
$("input").prop("readonly", true);
或者只是在html中创建输入字段时:
<input readonly type="number">
如果您想要防止对输入字段的关注,可以使用:
$("input").on("focus", function() {
$(this).blur();
});
答案 2 :(得分:0)
$('div input').attr("readonly", "readonly");
您可以将div中的所有输入字段设为只读。
答案 3 :(得分:0)
您可以尝试这样
$(document).ready(function() {
$('div input').prop("readonly", true);
});