【发布时间】:2017-07-22 05:03:10
【问题描述】:
在项目列表上绑定点击事件,框不断消失。知道为什么单击事件在 item-list > 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>
<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>
【问题讨论】:
-
您的问题不清楚?你到底想达到什么目的?以及您面临什么问题?
-
请解释一下您要做什么,因为通过阅读您的代码,我仍然不确定您要做什么。
-
不要在焦点处理程序中附加点击侦听器,最终每次元素获得焦点时都会添加一个新侦听器。
-
点击项目列表,不插入文字,点击功能不起作用?还可以在正文单击时隐藏项目列表
标签: javascript jquery html arrays