1

基本上我希望链接继续运行并单击一次,但在双击时我希望运行其他一些 Javascript 而不是链接。我需要一些类似于 PHP 的die();函数。

HTML

<a id="link" href="'.$link.'">
   <div onclick="linktxt=this.innerHTML" ondblclick="show_msg_box()" class="more_item">' . $title . '</div>
 </a>

所以在双击的某个地方,我需要禁用链接。

回答

我只是用来window.stop();停止页面加载 ondblclick

<a id="link" href="'.$link.'">
   <div onclick="linktxt=this.innerHTML" ondblclick="window.stop(); show_msg_box();" class="more_item">' . $title . '</div>
 </a>

感谢您的快速回复!

4

4 回答 4

0

您可以使用 jQuery 的 dblclick 事件在双击操作上运行您想要的任何内容。

$('button').on('dblclick', handler)

或用于标志方法

http://jsfiddle.net/pjdicke/A6pUG/

var clicked = false;
$('button').on('click', function(){
    if (!clicked){

      alert('you can only click me once');
      clicked = true;

    } else {

        return false;

    }
});
于 2013-06-18T19:04:40.223 回答
0
<a id="link" href="http://someurl.com">
    <div onclick="onSingleClick(); return false;" ondblclick="onDoubleClick(); return false;" class="more_item">ClickMe</div>
</a>

function onDoubleClick() {
    if (timer) {
        clearTimeout(timer);
        timer = null;
    }
    alert("DblClick!");
}

function onSingleClick() {
    if (!timer)
        timer = setTimeout(function() { alert('Single'); }, 500);
}

JSFiddle 示例

于 2013-06-18T19:09:47.983 回答
0

如果您使用的是 jQuery,请尝试以下操作:

show_msg_box(){
   this.preventDefault();
   //stuff to do
}

或直接:

<div onclick="linktxt=this.innerHTML" ondblclick="this.preventDefault();" class="more_item">'
于 2013-06-18T18:57:31.537 回答
0

如果您使用下划线,您可以消除事件处理程序的抖动:http: //davidwalsh.name/function-debounce

于 2013-06-18T19:02:08.153 回答