我有 jquery 一个函数,如果我点击一个html框,我会得到一个小信息框,但我的问题是,我可以有两个不同的功能,如果我点击框,我得到了小的信息框,但如果我做了双击,那么我应该去另一页?我的代码是这样写的:
<div onclick="getInofbox(id)"><img src="image.jpg" /></div>
点击后我只得到包含内容的小方框,我找不到任何双击选项。
答案 0 :(得分:1)
您可以使用dblclick()
jquery事件。
$('div').dblclick(function () {
alert('Double click');
});
但是根据jQuery API文档,不建议对同一个HTML元素使用click和dblclick事件处理程序。您可以参考API文档here。
选中此demo
回答你的问题:“我现在已经离开了这个解决方案,并且只打开第一个带链接的信息框,如果我点击一个元素并获取信息框,则可能,如果我点击其他框,点击后应该是第一个关闭的框?“
您可以注册两个链接的点击,当打开第二个信息框时,只需关闭第一个信息框。
你检查this demo,在这里我使用了jQuery UI对话框(这不是模态对话框),然后点击第二个对话框关闭第一个对话框。
答案 1 :(得分:1)
要在同一元素上进行单击和双击事件,请使用超时:
var timeout, doubleClick = false;
$('p').click(function() {
timeout = setTimeout(simpleClick, 500);
});
$('p').dblclick(function() {
doubleClick = true;
clearTimeout(timeout);
alert('Double click');
});
function simpleClick() {
if(!doubleClick) {
alert('Simple click');
}
doubleClick = false;
}
在这里,您有0.5秒的超时时间。如果它只检测到一次简单的点击,它会调用该功能进行简单的点击。否则,它会清除超时并转到双击功能。