Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
输入自动建议项上的JavaScript单击事件 我无法在项目列表上绑定单击事件,框一直消失。你知道为什么在点击itemlist>div时,我不能在div上绑定一个click事件,我需要获取文本并附加到输入占位符中吗?_Javascript_Jquery_Arrays_Functional Programming - Fatal编程技术网

输入自动建议项上的JavaScript单击事件 我无法在项目列表上绑定单击事件,框一直消失。你知道为什么在点击itemlist>div时,我不能在div上绑定一个click事件,我需要获取文本并附加到输入占位符中吗?

输入自动建议项上的JavaScript单击事件 我无法在项目列表上绑定单击事件,框一直消失。你知道为什么在点击itemlist>div时,我不能在div上绑定一个click事件,我需要获取文本并附加到输入占位符中吗?,javascript,jquery,arrays,functional-programming,Javascript,Jquery,Arrays,Functional Programming,(函数(){ $(“.input msg”).focus(函数(){ $(“.item list”).css('display','block'); $(“.item list div”)。单击(函数(){ var inputValue=$('.input msg'); var data=$(this.text(); inputValue.val(数据); }); }).blur(函数(){ $(“.item list”).css('display','none'); }); })(); 。输入

(函数(){
$(“.input msg”).focus(函数(){
$(“.item list”).css('display','block');
$(“.item list div”)。单击(函数(){
var inputValue=$('.input msg');
var data=$(this.text();
inputValue.val(数据);
});
}).blur(函数(){
$(“.item list”).css('display','none');
});
})();
。输入包装器{
宽度:300px;
}
.项目清单{
显示:无;
}

这是第一项
这是第一项
这是第一项
这是第一项

此代码未绑定单击事件,您正在调用单击事件

$(".item-list div").click() 
{
  var inputValue = $('.input-msg');
  var data = $(this).text();
  inputValue.val(data);
}
应该是

$(".item-list div").off('click').click( function () { 
  var inputValue = $('.input-msg');
  var data = $(this).text();
  inputValue.val(data);
});

将“单击”更改为“鼠标向下”,这是因为单击时会触发模糊事件,并导致列表在单击操作完成之前隐藏

(函数(){
$(“.input msg”).focus(函数(){
$(“.item list”).css('display','block');
$(“.item list div”)
.off('mousedown')
.on('mousedown',函数(){
var inputValue=$('.input msg');
var data=$(this.text();
inputValue.val(数据);
});
}).blur(函数(){
$(“.item list”).css('display','none');
});
})();
。输入包装器{
宽度:300px;
}
.项目清单{
显示:无;
}

这是第一项
这是第二项
这是第三项
这是第四项

我相信你的
.click()
语法是错误的,它应该在表单中

.click(function(){
    //your code here
})
我已经更新了你的代码

(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');
  });
})();

请你也把html添加到问题中好吗?我已经把你的代码转换成了snippit。请编辑您的帖子,然后编辑snippit并添加您的HTML,以便我们能够更好地提供帮助,并查看代码当前的行为。谢谢。不要直接使用事件方法(
.focus()
blur()
)。使用
.on(event)
你刚刚添加了一个指向库的链接,你能不能也添加你的javascript引用的元素。我已经编辑了HTML,你能为我推荐一个替代方案吗thanks@espacarello,它似乎不起任何其他建议的作用