我正在使用dojo 1.10.4,我需要听所有TextBox
上的tab键。
是否有可能检测到此特定事件?
目前,我正在使用onFocus
,但不能解决我的问题,因为在所有情况下,当用户单击TextBox
时都会触发该问题。
https://jsfiddle.net/92uc0tmn/8/
require(["dijit/form/TextBox", "dijit/registry", "dojo/domReady!"], function(TextBox, registry) {
var textarea = new TextBox({
name: "myarea",
value: "Some value",
intermediateChanges: true,
selectOnClick: true,
onChange: function() {}
}, "myarea").startup();
var textarea2 = new TextBox({
name: "myarea2",
value: "Some value",
intermediateChanges: true,
selectOnClick: true,
onChange: function() {}
}, "myarea2").startup();
var textarea3 = new TextBox({
name: "myarea3",
value: "Some value",
intermediateChanges: true,
selectOnClick: true,
onChange: function() {}
}, "myarea3").startup();
});
最佳答案
我可以使用以下代码解决我的问题,基本上,我听onKeyPress
的TAB
键。
我仍然不确定这种方法是否是最佳方法。
任何想法都欢迎。
https://jsfiddle.net/4grtLtvv/
require(["dijit/form/TextBox", "dijit/registry", "dojo/keys", "dojo/domReady!"], function(TextBox, registry, keys) {
var textarea = new TextBox({
name: "myarea",
value: "Some value",
intermediateChanges: true,
selectOnClick: true,
onKeyPress: function(evt) {
if (evt.charOrCode === keys.TAB) {
console.log('tab!');
}
}
}, "myarea").startup();
var textarea2 = new TextBox({
name: "myarea2",
value: "Some value",
intermediateChanges: true,
selectOnClick: true,
onKeyPress: function(evt) {
if (evt.charOrCode === keys.TAB) {
console.log('tab!');
}
}
}, "myarea2").startup();
var textarea3 = new TextBox({
name: "myarea3",
value: "Some value",
intermediateChanges: true,
selectOnClick: true,
onKeyPress: function(evt) {
if (evt.charOrCode === keys.TAB) {
console.log('tab!');
}
}
}, "myarea3").startup();
});