onclick和ondblclick不能一起工作

时间:2013-10-15 10:56:09

标签: javascript jquery checkbox jqgrid onclick

我的jqgrid标题中有一个mastercheckbox

<input type="checkbox" id="masterCheckBox"  ondblclick="onDoubleClick(event,assetSearchResults,this)" onclick="masterCheckBoxChecked(event,assetSearchResults,this)"/>

当我只放入onclick或ondblclick时,会调用相应的方法。但是当我同时使用onclick和ondblclick时,只会调用onclick方法。我甚至无法双击复选框。如何处理单击复选框的onclick和ondblclick?

以下是singleclick和doubleclick的方法。我也给了超时。但我无法捕捉双击事件。

var timer=;

    function onDoubleClick(e,table,obj){
            clearTimeout(timer);
            alert('Double click');
            }

            function masterCheckBoxChecked(e,table,obj){
                 document.getElementById("masterCheckBox").checked=true;

                 if (timer) clearTimeout(timer);
                 timer = setTimeout(function() { alert('Single'); }, 150);   
                 alert(timer);

                 }

1 个答案:

答案 0 :(得分:4)

快速参考:

  

不建议将处理程序绑定到click和dblclick   同一元素的事件。触发的事件顺序各不相同   从浏览器到浏览器,有些人之前接收过两次点击事件   dblclick和其他人只有一个。双击灵敏度(最大值   检测为双击的点击之间的时间可能会有所不同   操作系统和浏览器,通常是用户可配置的。

jQuery参考:http://api.jquery.com/dblclick/

所以我认为如果您只使用一次点击事件和其他控件来重新考虑您的实际用户界面以满足您的需求,那就更好了;例如,在点击处理程序上打开一个包含可能操作的菜单。