我有一个 div,其 tabindex 属性设置为“-1”,这样它就可以通过鼠标单击获得焦点。
<div tabindex='-1'></div>
.div:focus{//some style}
当用户单击 div 时,我想使用 Jquery 执行某些操作,但前提是它被选中(第二次单击后)。
$('div').click(function(){
if($(this).is(':focus')){
//do something
}
});
但是这不起作用, Action 会立即触发。
编辑:包含代码。
最佳答案
我会用标志检查第二次点击,请参阅我的 answer 这里
我使用了 isClicked 标志来确定是第一次点击还是第二次点击。如果是第一次点击,则将标志设置为 true 并返回((即)不执行任何操作)。下次,检查该标志是否为 true,这意味着这是第二次单击,并添加下面的代码来执行您想要的操作。
var isClicked = false; $('div#myTest').click(function(){ //do nothing on 1st click if (isClicked == false) { alert('Clicked 1st time'); isClicked = true; return; } //do whatever u want on second click alert('Clicked 2nd time'); });
在 div 外部单击时重置标志,下面的代码执行此操作...
// to check it is clicked outside div $(document).click(function(e){ if($(e.target).is('#myTest'))return; //reset to isClicked = false; });
关于javascript - 聚焦 DIV 上的单击操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8689716/