javascript - 如何单击输入字段内的字形图标
问题描述
我有一个带有字形图标的输入字段
<div class="form-group has-feedback has-feedback-left">
<label class="control-label">Nome località: </label>
<input type="text" class="form-control" value="" name="nome_loc" id="nome_loc">
<i id="cleanLoc" class="form-control-feedback glyphicon glyphicon-remove-circle"></i>
</div>
视觉上的输出如下(根据需要):
我想在点击字形图标时触发一个事件,但似乎该事件永远不会触发。js 代码如下(在 documentReady 块中):
$('#cleanLoc').click(function(){
$('#nome_loc').val('');
});
这只是为了清理输入字段。我在这里想念什么?
解决方案
如果您i
在 DOM 检查器中检查该元素,您可以看到该元素已pointer-events: none
被 Bootstrap 的forms.less
文件应用到它。这意味着该元素不会引发鼠标事件。
要解决此问题,请在您自己的 CSS 中覆盖该设置:
$('#cleanLoc').click(function() {
$('#nome_loc').val('');
});
.form-group i { pointer-events: auto; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" type="text/css" rel="stylesheet">
<div class="form-group has-feedback has-feedback-left">
<label class="control-label">Nome località: </label>
<input type="text" class="form-control" value="" name="nome_loc" id="nome_loc">
<i id="cleanLoc" class="form-control-feedback glyphicon glyphicon-remove-circle"></i>
</div>
推荐阅读
- reactjs - React-router后退浏览器按钮在第一次点击时不会刷新页面
- vue.js - Vuejs + webpack 导入js文件后显示空白页面
- google-cloud-firestore - 在视图正文中显示查询值
- swift - 在类中的方法之间传递数据
- firebase - 应用程序永远加载 - firebase.auth().onAuthStateChanged
- devstack - 如何在 Devstack 中测试 StorPerf?
- javascript - 如何在不执行其余代码的情况下接收 Promise 的值?我得到 [objetc,object]
- javascript - 未捕获的类型错误:无法在方法中读取 null 的属性“classList”
- python - 在 Pathlib 中使用通配符
- flutter - 颤动中的活动问题