如何在HTML表单中聚焦当前选择
How do I focus the current selection in a HTML form?
我有一个html表单,用户需要回答多个问题,我想添加一些样式:当用户单击一个问题时,我想让它集中并模糊其他问题,我应该如何处理这个。
这是我做的表单,但我想改变div的不透明度时点击输入字段,请建议如何处理这个
$(document).on('focus active', 'input, textarea', function(){
$('label[for='+$(this).attr('id')+']').addClass('active');
});
$(document).on('blur', 'input, textarea',function(){
$('label[for='+$(this).attr('id')+']').removeClass('active');
});
input[type=text], input[type="email"],input[type="number"] {
width: 50%;
display: block;
padding: 5px 5px;
margin: 8px 0;
box-sizing: border-box;
border: none;
border-bottom: 2px solid #ccc;
}
input:focus {
outline: none;
}
div {
opacity: 0.5;
}
.active{
font-size: 50px;
color: darkgray;
opacity: 1 px !important;
}
<!doctype html>
<body>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">
</script>
</head>
<div>
<label for="contact_form_name"><span class="qno">1.</span> What is your name?*</label>
<input id="contact_form_name" name="contact_form_mail" type="text">
</div>
<div>
<label for="contact_form_phone"><span class="qno">2.</span>What is your contact number?*</label>
<input id="contact_form_phone" name="contact_form_phone" type="number">
</div>
<div>
<label for="contact_form_email"><span class="qno">3.</span>What is your email address?**</label>
<input id="contact_form_email" name="contact_form_email" type="email">
</div>
<div>
<label for="contact_form_city"><span class="qno">4.</span>Which city do you live in?*</label>
<input id="contact_form_city" name="contact_form_city" type="text">
</div>
</body>
您应该为每个div(我假设每个问题将在一个div中)设置专用Id。之后使用基于id
的javascript焦点和模糊事件document.getElementById("your_id").blur();
document.getElementById("your_id").focus();
您还可以填充包含这些问题id的数组,并迭代循环以聚焦和模糊
嗨,我将使用JQuery来添加一个类。专注于用户所关注的问题,而所有其他问题,你可以添加另一个类,例如,非专注。
JQuery添加类到选定的div
$(this).addClass('focused');
现在添加所有其他div你添加类非聚焦
$('class_name_of_all_div').addClass('focused');
所以你会有一个类似于
的HTML布局<div class="question">
<input type="text" name="name" >Name</input>
</div>
<div class="question">
<input type="text" name="name" >Name</input>
</div
<div class="question">
<input type="text" name="name" >Name</input>
</div
那么你的函数就是这样的
$(".question").click(function() {
$(this).addClass('focused');
$('.question').addClass('focused');
});
现在为它添加样式
.non-focused {
filter: blur(2px);
}
和
.non-focused {
filter: blur(0px) !important;
}
和你应该设置。
相关文章:
- jQuery自动完成阻止选择后聚焦
- 多个选择框聚焦第一个选择框
- 使用jquery聚焦选择html元素
- 在聚焦文本输入时触发文件选择
- 如何使用 Reactjs 选择输入中的所有文本,当它聚焦时
- 防止<输入/>在视线之外,在选择()(或聚焦)时将页面滚动到视图中
- 选择输入中的所有文本,聚焦
- 添加选项以选择聚焦IE9
- 剑道网格如何以编程方式聚焦网格单元格和块选择文本
- jQuery - <选项> 标记 - 无法在<选项>“取消选择”或“聚焦”上触发回调
- 如何选择,聚焦文本区域
- 选择并聚焦标签
- 在dom内有大量输入标签的IE中,聚焦和/或选择输入元素的速度很慢
- 在输入字段中选择一些文本,但不是全部,当它被聚焦时
- 如何聚焦angularjs的ui选择输入
- 在jQuery中检查多重选择下拉聚焦时数组中的值是否存在
- 替代选择/聚焦功能,自动将光标放置在质量的文本框中
- 如何在HTML表单中聚焦当前选择
- ExtJS网格:为什么聚焦线也选择了它
- 如何通过函数选择引脚并重新聚焦到该引脚的信息窗口