我在 YUI 中有一个数据表。我试图让表忽略所有 keyEvents。我试过这些方法:
YAHOO.util.Event.addListener(singleSelectDataTable, "keydown", function(oEvent) {
YAHOO.util.Event.stopPropagation(oEvent);
});
或者
YAHOO.util.Event.preventDefault(singleSelectDataTable.tableKeyEvent);
或者
singleSelectDataTable.subscribe('tableKeyEvent', function(oArgs) {
YAHOO.util.Event.preventDefault(oArgs.event);
});
我查看了几个 YUI 示例来拦截点击事件,但它们并没有类比到这个特定场景。如果有帮助,我创建了一个独立的 HTML 测试文件:http: //pastebin.com/khfR4Stk。基本问题是我们不想在表格中支持向上箭头键或向下箭头键;这是一个滚动表,为了使其正常工作,一旦选择超过“显示窗口”,我们就必须调整滚动拇指。
我能想到的唯一其他解决方案是订阅 tableKeyEvent ,然后如果按键是向上箭头,则取消选择新选择的行,选择前一行,对向下箭头进行适当的模拟(基本上撤消按键刚刚做了)。这似乎不是正确的解决方案……</p>