我有一个div,其tabindex属性设置为'-1',因此它可以专注于鼠标点击。
<div tabindex='-1'></div>
.div:focus{//some style}
当用户点击div时,我想用Jquery做一些事情,但只有在选中它时(第二次点击后)。
$('div').click(function(){
if($(this).is(':focus')){
//do something
}
});
但它不起作用,动作立即触发。
编辑:包含代码。
答案 0 :(得分:2)
根据我的阅读,也许你可以在关注DIV后调用“点击”动作。首先点击它,第二次点击会触发下一个块。
**编辑**经过研究,您无法在DIV上使用焦点处理程序。我在想什么!
*$('.double-click').focus(function(){
alert("I'm now in focus");
$(this).click(function(){
alert("I'm now double clicked.");
});
});*
**这是未经测试的代码。
我也查看了jQuery的API并注意到你可以在这里看到的dblclick()函数...... http://api.jquery.com/dblclick/
答案 1 :(得分:2)
我会用标记检查第二次点击,在这里看 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;
});