我在项目菜单中使用环形交叉脚本。单击菜单项后,我有一些操作。我想在第二次单击此选定项目后触发此操作/功能。你能帮我解决这个问题吗?
这是我职能的开始:
$('.main_content ul li').bind({click: function(){
答案 0 :(得分:1)
API:http://api.jquery.com/dblclick/
将事件处理程序绑定到“dblclick”JavaScript事件,或在元素上触发该事件。
希望它有助于您的事业:)
<强>码强>
$('.main_content ul li').dblclick( function(){
});
答案 1 :(得分:1)
编辑忽略此信息并使用Tats_innit的答案。我可耻地没有意识到jQuery的dblclick功能。
(function(){
var state = false;
$('.main_content ul li').click(function(){
if( state === false ) state = true;
if( state ){
state = false;
//do other stuff here
}
});
});
答案 2 :(得分:1)
一种方法是手动取消第一次点击:
$('.main_content ul li').click(function() {
if(!$(this).data('clicked-once')) {
$(this).data('clicked-once', true);
return; // cancel first execution
}
// handler body here
});
另一个,也许更整洁,就是使用one
方法来绑定监听器:
$('.main_content ul li').one('click', function() {
$(this).click(function() {
// handler body here
});
});
当然,如果是实际双击你试图听,你应该使用Tats_innit建议的dblclick
事件。也就是说,如果您只想在接下来的两次点击中触发一个事件。使用双击,三次快速点击只会触发一次该功能,并且使用上述解决方案,它会触发两次。使用双击,两次点击并在它们之间有一些延迟不会导致功能完全触发,上面的解决方案会导致它触发一次。
答案 3 :(得分:0)
您可以使用jQuery&#39; toggle event helper,并且只绑定一个函数。在线:
function iWantThis2bCalled()
{
}
$("#someId").toggle(function(){}, iWantThis2bCalled);