我有一个文本区域#ta
,其下方有一个列表#ac-list
用于自动完成:
<div id='container'>
<textarea id="ta" name="god" rows="20"></textarea>
<ul id='ac-list' style='visibility:hidden'></ul>
</div>
当文字区域失去焦点时,我想隐藏#ac-list
。所以我在文本区域调用jquery的blur
:
$('#textarea').blur(function () {
$('#ac-list').css('visibility', 'hidden');
})
这样可行,但我想添加一个约束,即当用户点击#ac-list
时文本区域不应该失去焦点。我怎么能这样做呢?
答案 0 :(得分:0)
这是你需要的吗?这只是一种解决方法。在textarea上模糊和关注li项目所花费的时间因计算机而异。
HTML:
<div id='container'>
<textarea id="ta" name="god" rows="20"></textarea>
<ul id='ac-list'>
<li>dsfd</li>
</ul>
</div>
JavaScript的:
var textAreaBlur = null;
$('textarea').blur(function () {
textAreaBlur = new Date();
});
var clickTimes = 0;
$("#ac-list > li").click(
function() {
if((new Date() - textAreaBlur) < 200) {
$("#ta").focus();
$(this).text("dsfd" + ++clickTimes);
}
}
);