【发布时间】:2020-06-12 09:52:41
【问题描述】:
任务看起来很简单,所以我希望找到一个简单的解决方案,可能是纯 CSS。
我有一个输入字段。如果选中,将出现一个带有点击事件的按钮。为了简单起见,如果输入没有聚焦,我将使用 CSS 隐藏按钮。
但点击永远不会执行。好像CSS是在点击之前应用的,所以当onclick被触发时,按钮已经消失了。
关于如何解决这个问题的任何想法?
Array.from(document.getElementsByTagName("button")).forEach(function(button, index) {
button.onclick = function() {
document.getElementsByTagName("input")[index].value = "";
};
});
.hide>input:not(:focus)+button {
display: none;
}
<html>
<body>
<div>
<input type="text" value="working">
<button>Reset</button>
</div>
<div class="hide">
<input type="text" value="not working">
<button>Reset</button>
</div>
</body>
</html>
【问题讨论】:
-
你正在使用 JS,所以试试这个,
$(':text').focus(function(e){ $('.list_search').toggle(); }).blur(function(e){ $('.list_search').toggle(); });
标签: javascript html css focus