jquery - 在div外单击时关闭jquery功能
问题描述
我正在设计一个表单并有一些用于自定义选择下拉菜单的 jquery,它的目的是在单击它时将边框颜色更改为黑色,但是当您单击另一个输入字段时,它应该重置回灰色,我有普通输入字段的切换类设置,但由于选择菜单是高度自定义的,我不得不使用以下代码更改颜色:
$('.select-selected').on('click', function(e){
e.preventDefault();
$(this).css('border', '1px solid black');
});
有没有办法添加到这个,以便当您再次单击时,或者最好单击它外部.select-selected
时重置功能并返回到灰色边框?感谢任何帮助。
HTML:
<div class="custom-select" type="text" name="enquiry" style="width:100%;" style="max-width:100%;">
<select class="input-select">
<option value="0">Select Enquiry Type</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>
</div>
添加了 html,但 .select-selected 正在通过更多 javascript 添加到 div,可以在此处查看我使用的完整代码: https ://www.w3schools.com/howto/howto_custom_select.asp
解决方案
除非对 jQuery 有特殊需求,否则我建议您可以完全使用 CSS 来完成此操作...
.input-select { border:1px solid red; }
.input-select:focus { border:1px solid black; }
<div class="custom-select" type="text" name="enquiry" style="width:100%;" style="max-width:100%;">
<select class="input-select">
<option value="0">Select Enquiry Type</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>
</div>
否则,如果您确实需要通过 jQuery 进行操作,那么您可以使用blur
事件...
$('.input-select').on('click', function(e){
e.preventDefault();
$(this).css('border', '1px solid black');
}).on('blur', function(e) {
$(this).css('border', '');
});
.input-select { border:1px solid red; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="custom-select" type="text" name="enquiry" style="width:100%;" style="max-width:100%;">
<select class="input-select">
<option value="0">Select Enquiry Type</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>
</div>
推荐阅读
- wordpress - How to disable email verification? (Wordpress)
- ffmpeg - 在ffmpeg的concat文件中使用带有连续点的路径时出错
- python - 无法将枕头图像列表保存为 PDF?
- ubuntu - ubuntu终端中任何文件的空白处和行中出现黄线
- r - 有谁知道如何从此图中删除“黑线”?
- c - 链接 C 时出现“多重定义”错误,但仅在 MinGW 上
- android - Flutter 构建失败并出现异常(任务':app:processDebugMainManifest'的执行失败)
- c# - 如何将 C# unittest 与 Azure Synapse SSDT 连接起来
- android - Android TV 卡轮廓焦点阴影(与 Play 商店相同)
- python - 仅在引发错误后自动重启python文件