Javascript 是否仅在焦点上显示可单击的项目?

Javascript 是否仅在焦点上显示可单击的项目?,javascript,jquery,Javascript,Jquery,我有一个可编辑的div,当它聚焦时,它会在下方打开一个工具栏。如何在创建的项目(#工具栏)再次在模糊中消失之前单击它?有没有比设置长设置超时更干净的方法 $('child')。关于('focus',函数(e){ $(“#parent”).append('单击我,应该会打开警报!'); }); $('#child')。关于('blur',函数(e){ var$item=$(“#父项”).find(“#工具栏”); $item.css('opacity',0) setTimeout(函数(){ $

我有一个可编辑的div,当它聚焦时,它会在下方打开一个工具栏。如何在创建的项目(
#工具栏
)再次在模糊中消失之前单击它?有没有比设置长设置超时更干净的方法

$('child')。关于('focus',函数(e){
$(“#parent”).append('单击我,应该会打开警报!');
});
$('#child')。关于('blur',函数(e){
var$item=$(“#父项”).find(“#工具栏”);
$item.css('opacity',0)
setTimeout(函数(){
$item.remove();
}, 100);
});
$(文档)。在('单击','工具栏'上,函数(e){
警报('如何在没有超长设置超时的情况下显示此内容?');
});
#工具栏{光标:指针;}
#子{空白:预换行;}
#子{行高:1em;高度:1em;溢出:隐藏;}
#子:焦点{高度:3em;}

长文本
来这里
这里呢

对我来说,我只想在
不透明度
中添加一个
过渡
效果

编辑:测试后发现,由于
div
消失得太快(删除100毫秒),浏览器有时可能会错过对
div
的单击(需要先下鼠标,然后上鼠标才能单击)。您可以更改为使用
mousedown
创建更一致的行为,也可以扩展项目删除计时器

编辑:根据您最新的需求,
mousedown
似乎工作正常

$('child')。关于('focus',函数(e){
$(“#parent”).append('单击我,应该会打开警报!');
});
$('#child')。关于('blur',函数(e){
var$item=$(“#父项”).find(“#工具栏”);
$item.css('opacity',0)
setTimeout(函数(){
$item.remove();
}, 500);
});
$(文档).on('mousedown','#toolbar',函数(e){
警报('如何在没有超长设置超时的情况下显示此内容?');
});
#工具栏{光标:指针;}
#子{空白:预换行;}
#子{行高:1em;高度:1em;溢出:隐藏;}
#子:焦点{高度:3em;}

长文本
来这里
这里呢

对我来说,我只想在
不透明度
中添加一个
过渡
效果

编辑:测试后发现,由于
div
消失得太快(删除100毫秒),浏览器有时可能会错过对
div
的单击(需要先下鼠标,然后上鼠标才能单击)。您可以更改为使用
mousedown
创建更一致的行为,也可以扩展项目删除计时器

编辑:根据您最新的需求,
mousedown
似乎工作正常

$('child')。关于('focus',函数(e){
$(“#parent”).append('单击我,应该会打开警报!');
});
$('#child')。关于('blur',函数(e){
var$item=$(“#父项”).find(“#工具栏”);
$item.css('opacity',0)
setTimeout(函数(){
$item.remove();
}, 500);
});
$(文档).on('mousedown','#toolbar',函数(e){
警报('如何在没有超长设置超时的情况下显示此内容?');
});
#工具栏{光标:指针;}
#子{空白:预换行;}
#子{行高:1em;高度:1em;溢出:隐藏;}
#子:焦点{高度:3em;}

长文本
来这里
这里呢

谢谢!我把它变得更复杂一些,并在文本中引入了一个可扩展的特性。现在,由于正在移动位置,因此完全没有点击。有解决办法吗?见原文。有没有办法让点击在模糊之前发生?使用
mousedown
?太棒了!谢谢现在它甚至可以在没有超时和不透明度的情况下工作!:)非常感谢。我把它变得更复杂一些,并在文本中引入了一个可扩展的特性。现在,由于正在移动位置,因此完全没有点击。有解决办法吗?见原文。有没有办法让点击在模糊之前发生?使用
mousedown
?太棒了!谢谢现在它甚至可以在没有超时和不透明度的情况下工作!:)