0

我有jquery一个功能,如果我点击一个 html 框,我会得到一个小信息框,但我的问题是,我可以有两个不同的功能吗,如果我点击这个框,我会得到一个小信息框,但如果我这样做双击,然后我应该转到其他页面?我的代码是这样写的:

<div onclick="getInofbox(id)"><img src="image.jpg" /></div>

单击时,我只得到带有内容的小框,我找不到任何双击选项。

4

2 回答 2

1

您可以使用dblclick()jquery 事件。

$('div').dblclick(function () {
    alert('Double click');
});

但是根据 jQuery API 文档,不建议对同一个 HTML 元素使用 click 和 dblclick 事件处理程序。您可以在此处参考 API 文档。

检查这个演示

回答你的这个问题:“我现在离开这个解决方案,只打开第一个带有链接的信息框,如果我点击一个元素并获取信息框,那么如果我点击另一个框,点击后应该是第一个盒子关了?

您可以为两个链接注册点击,打开第二个信息框时只需关闭第一个信息框。

你检查这个演示,在这个我使用了 jQuery UI 对话框(它不是模态对话框),并在点击第二个对话框时关闭第一个对话框。

于 2013-07-15T14:22:52.317 回答
1

要在同一个元素上单击和双击事件,请使用 timeout :

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 秒的超时时间。如果它只检测到一个简单的点击,它会调用这个简单点击的函数。否则,它会清除超时并进入双击功能。

一个关于 jsfiddle 的例子。

于 2013-07-15T14:52:24.303 回答