我正在使用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();
});
答案 0 :(得分:1)
我能够使用以下代码解决我的问题,基本上,我会听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();
});