1

我的 jqgrid 标题中有一个 mastercheckbox

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

当我只放 onclick 或 ondblclick 时,会调用相应的方法。但是当我同时拥有 onclick 和 ondblclick 时,只会调用 onclick 方法。我什至不能双击复选框。如何处理单个复选框的 onclick 和 ondblclick?

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

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);

                 }
4

1 回答 1

4

快速参考:

不建议将处理程序绑定到同一元素的 click 和 dblclick 事件。触发的事件顺序因浏览器而异,有些在 dblclick 之前接收两个点击事件,而另一些只接收一个。双击灵敏度(检测为双击的两次单击之间的最长时间)可能因操作系统和浏览器而异,并且通常可由用户配置。

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

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

于 2013-10-15T11:10:56.630 回答