【发布时间】:2015-11-06 23:42:41
【问题描述】:
我有一个dgrid 表,其选择模式为toggle。我的一个要求是实现双击一行来触发一个函数。
这是我所拥有的:
grid.on('.dgrid-content .dgrid-row:dblclick', function () {
window.alert('Hello world!');
});
问题是双击也会导致selection events dgrid-select 和dgrid-deselect 触发,因为它还注册了两次单击以进行选择。
我已尝试添加此代码,但它没有按预期工作:
var timer;
grid.on('.dgrid-content .dgrid-row:click', function (event) {
var row = this;
if (timer) {
event.preventDefault();
event.stopPropagation();
event.stopImmediatePropagation();
clearTimeout(timer);
} else {
timer = window.setTimeout(function() {
// something to make the click go through?
row.emit('something here');
clearTimeout(timer);
}, 250);
}
});
有没有办法做到这一点?
我咨询了How to use both onclick and ondblclick on an element?,但那里的答案似乎对我的情况不起作用。
我还查看了 misc 实用程序,也许它是我需要的 debounce 函数,但我不知道如何使用它。
【问题讨论】:
标签: javascript mouseevent dom-events double-click dgrid