【发布时间】:2017-12-27 19:27:26
【问题描述】:
我无法在项目列表上绑定点击事件,框一直消失。知道为什么单击 item-list > div 我无法在 div 上绑定单击事件我需要获取文本并附加到输入占位符中?
(function() {
$(".input-msg").focus(function() {
$(".item-list").css('display', 'block');
$(".item-list div").click(function() {
var inputValue = $('.input-msg');
var data = $(this).text();
inputValue.val(data);
});
}).blur(function() {
$(".item-list").css('display', 'none');
});
})();
.input-wrapper {
width: 300px;
}
.item-list {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- Please add your HTML so we can run it -->
<div class="input-wrapper">
<input type="text" class="input-msg" placeholder="click me">
<!-- input msg -->
<div class="item-list">
<div>This is item one</div>
<div>This is item one</div>
<div>This is item one</div>
<div>This is item one</div>
</div>
</div>
【问题讨论】:
-
能否请您也将 html 添加到问题中
-
我已将您的代码转换为片段。请编辑您的帖子,然后编辑代码段并添加您的 HTML,以便我们更好地提供帮助,并查看代码当前的行为方式。谢谢。
-
不要直接使用事件方法(
.focus(),blur())。而是使用.on(event) -
你刚刚添加了一个库的链接,你能添加你的javascript引用的元素吗?
-
我已经编辑了 HTML,你能帮我推荐一个替代方案吗,谢谢
标签: javascript jquery arrays functional-programming