0

我有 dhtmlx 网格,并在其中附加了两个事件:

var click_flag = false;
        dhxGrid.attachEvent("onRowDblClicked", function (rowId, cellIndex) {
            click_flag = true;
            ...                
        });
        dhxGrid.attachEvent("onRowSelect", function (rowId, cellIndex) {
            if (!click_flag) {
                ...     
            }           
        });

但是 onRowSelect 总是被触发,即使我双击网格的一行。有没有办法阻止它执行?我尝试使用 click_flag 但它不起作用。

4

1 回答 1

0

由浏览器的行为引起(dbl-click 操作也会生成单击事件)您可以使用一些自定义时序逻辑将这两个事件分开,例如 next

var click_timer;
dhxGrid.attachEvent("onRowDblClicked", function (rowId, cellIndex) {
    if (click_timer) clearTimeout(click_timer);
    ... actual ondblclick code here ...
});
dhxGrid.attachEvent("onRowSelect", function (rowId, cellIndex) {
    click_timer = window.setTimeout(function(){
        ... actual onrowselect code here ...
    }, 250);
});
于 2012-11-09T10:32:23.420 回答