在<a>标签里 单击时想要触发onclick,双击时想要触发ondblclick
我现在一直触发单击事件,,,,即使双击时,,,,各位帮看看是那的问题。

解决方案 »

  1.   

    不行,,,
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <SCRIPT TYPE="text/javascript" SRC="../js/jquery.js"></SCRIPT>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <SCRIPT>
    /* $(document).ready(function(){
     $("#s").click(function (){
     alert(2)})
     $("#s").bind("DblClick",function(){ 
     alert(333)})  
     
    })*/
    </SCRIPT>
    </head><body>
    <a id='s' onclick="javascript:alert(5)" ondblclick="javascript:alert(555)">fdfd</a>
    </body>
    </html>测试不行,,,,,
      

  2.   

    $("#s").bind("click dblclick",function(){
    alert(333)}) 试试?
      

  3.   

    网上找到的代码,楼主看看<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
        <HEAD>
            <TITLE>javascript 实现单击和双击并存</TITLE>
            <META NAME="Generator" CONTENT="EditPlus">
            <META NAME="Author" CONTENT="http://www.javabiz.cn">
            <META NAME="Keywords" CONTENT="">
            <META NAME="Description" CONTENT="">
        </HEAD>
        <BODY>
            <SCRIPT LANGUAGE="JavaScript">
            <!--
            var dcTime = 250;    // doubleclick time 
            var dcDelay = 100;   // no clicks after doubleclick 
            var dcAt = 0; // time of doubleclick  
            var savEvent = null; // save Event for handling doClick(). 
            var savEvtTime = 0;  // save time of click event. 
            var savTO = null;    // handle of click setTimeOut    
            function showMe(txt) {
                document.forms[0].elements[0].value += txt;
            }
            function handleWisely(which) {
                switch (which) {
                  case "click":
                    savEvent = which;
                    d = new Date();
                    savEvtTime = d.getTime();
                    savTO = setTimeout("doClick(savEvent)", dcTime);
                    break;
                  case "dblclick":
                    doDoubleClick(which);
                    break;
                  default:
                }
            }
            function doClick(which) {
                if (savEvtTime - dcAt <= 0) {
                    return false;
                }
                showMe("\u5355\u51fb");
            }
            function doDoubleClick(which) {
                var d = new Date();
                dcAt = d.getTime();
                if (savTO != null) {
                    savTO = null;
                }
                showMe("\u53cc\u51fb");
            }
            //-->
            </SCRIPT>
            <p>
                <a href="javascript:void(0)"
                    onclick="handleWisely(event.type)"
                    ondblclick="handleWisely(event.type)"
                    style="color: blue; font-family: arial; cursor: hand">
                    点击一下看看结果: </a>
            </p>
            <form>
                <table>
                    <tr>
                        <td valign="top">
                            事件模式:
                            <textarea rows="4" cols="60" wrap="soft"></textarea>
                        </td>
                    </tr>
                    <tr>
                        <td valign="top">
                            <input type="Reset">
                        </td>
                    </tr>
                </table>
            </form>
        </BODY>
    </HTML>
      

  4.   

    http://www.quirksmode.org/js/events_mouse.html
      

  5.   

    <p><a href="javascript:void(null)" class="page"
    onmousedown="logIt('mousedown')"
    onmouseup="logIt('mouseup')"
    onclick="logIt('click')"
    ondblclick="logIt('dblclick')"
    >The event handlers are registered on this link</a>.<br />
    <a href="#"  class="page"
    onclick="document.forms['testform'].elements[1].value =''; return false">Clear textarea</a>.</p>
     
    <script type="text/javascript"> 
    function logIt(evt) {
    if (document.forms['testform'].elements[0].checked) alert(evt);
    else document.forms['testform'].elements[1].value += evt + '\n';
    }
    </script>After all, when the user double–clicks on an element one click event takes place before the dblclick. Besides, in Netscape the second click event is also separately handled before the dblclick. Finally, alerts are dangerous here, too.So keep your clicks and dblclicks well separated to avoid complications.
      

  6.   

    不要用<a>标签,用其他的标签比如<span>,然后在这个标签里分别加入onclick和ondblclick事件,改变<span>的cursor样式模拟<a>标签的显示效果
      

  7.   

    问题的关键在于你单击事件里是一个alert,这个模态窗口会阻止你继续点击a,所以dblclick永远不会触发
      

  8.   


    这里面有段话:
    Dblclick
    The dblclick event is rarely used. Even when you use it, you should be sure never to register both an onclick and an ondblclick event handler on the same HTML element. Finding out what the user has actually done is nearly impossible if you register both.
      

  9.   

    哥们
    你就没有发觉,才点了一下alert就出来了么,根本就无法双击?
    你用alert这种拦截事件的方法来测试,简直是给自己找不自在
      

  10.   

    我都不知道怎么触发doubleclick事件,click应该在doubleclick前面吧,烦躁!
      

  11.   

    胡言乱语的人真多,看不下去了
    <script>
    function T(x){dd.innerHTML=x;}
    </script>
    <a id='s' onclick="javascript:T(5)" ondblclick="javascript:T(555)">fdfd </a> 
    <div id='dd'/>
    你去新建个网页贴进去执行了看看ondblclick有没有效果!
    代码不规范自己修葺下
    前面也早有个双星的兄弟说了是你用alert的问题
      

  12.   

    无聊ing
    琢磨了以上各种回答1、说a标签不支持的真的是没经考证瞎说,大概以为和href有冲突
    2、说dbclick和onclik不可以一起用还引用英文的,那是没看清楚,人家说的是弄清客户到底该执行什么动作,不要一起用,没说有冲突不能一起用( 因为双击时两个事件都会触发,我也不建议一起用)
    3、说冒泡导致onclick2次点击的纯粹YY...我只知道冒泡机制是对dom树事件的传递起作用,还没听说对该dom本身事件的触发起作用的..吃饭7了...忘掉这神贴
      

  13.   

    YOU ARE WRONG!!  双击事件的执行肯定会先执行单击
    <script>
    var s=[]
    function T(x){
    s[s.length]=x;
    dd.innerText=s;
    }
    </script>
    <a id='s' onclick="javascript:T(5)" ondblclick="javascript:T(555)">fdfd </a> 
    <div id='dd'/>
      

  14.   

    lifeforcode 没有说错,双击时onclick和ondblclick都会触发,且onclick会先触发,这时候如果onclick事件执行了alert方法的话,正如10楼所说,ondblclick就不会触发了。所以如果想在单击时执行funA(),双击时只执行funB()的操作,那么在触发单击事件时将funA()延迟一段时间执行,然后在funA()里判断用户是否双击,双击则不继续执行funA(),这也勉强算是一种解决方法吧。。