使用 ExtJS 4.1.1 即使在 Ext.util.KeyMap 我已经设置了 defaultEventAction: 'preventDefault' 并且在 fn : 函数中我也设置了 e.preventDefault(); 它仍然会在 chrome 中打开新标签页吗?我只希望该字段执行键被实现的操作,而不是打开新选项卡的默认浏览器操作。这怎么可能?
Ext.onReady(function () {
var bcTextField = Ext.create('Ext.form.Text', {
xtype: 'textfield',
renderTo: 'console-output',
emptyText: 'Enter Barcode/Accession Number',
width: 200,
margin: '0'
});
var map = new Ext.util.KeyMap({
target: bcTextField.getEl(),
binding: [{
key: "t",
ctrl: true,
scope: this,
defaultEventAction: 'preventDefault',
fn: function (key, e) {
e.preventDefault();
alert('Ctrl + t was pressed.');
}
}]
});
});
任何形式的帮助表示赞赏。