【发布时间】:2010-12-28 05:01:17
【问题描述】:
我在 YUI 中有一个 DataTable。我试图让表忽略所有 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,然后如果按键是向上箭头,则取消选择新选择的行,选择上一行,对向下箭头进行适当的模拟(基本上撤消按键刚刚所做的)。这似乎不是正确的解决方案……
【问题讨论】:
标签: javascript dom-events yui-datatable