Javascript 什么是;can';“冻结模式下的t点”;意思是

Javascript 什么是;can';“冻结模式下的t点”;意思是,javascript,enyo,Javascript,Enyo,我正在使用EnyoJS2.4和月光石库 “冻结模式下无法识别”是什么意思 我有两个输入: {kind: "moon.InputDecorator", name: "emaildec", spotlight: true, defaultSpotlightLeft : "emaildec", components: [ {kind: "moon.Input", name: "username",placeholder: "e-mail address", onchange: "nameCh

我正在使用EnyoJS2.4和月光石库

“冻结模式下无法识别”是什么意思

我有两个输入:

{kind: "moon.InputDecorator", name: "emaildec", spotlight: true, defaultSpotlightLeft : "emaildec", components: [
     {kind: "moon.Input", name: "username",placeholder: "e-mail address", onchange: "nameChanged", value:"",classes: "input-style"} //,spotlight: true
   ]
}, 
{tag: "br"},
{kind: "moon.InputDecorator",  name: "pwddec" , spotlight: true, defaultSpotlightLeft : "pwddec", components: [
     {kind: "moon.Input", name: "userpwd",type:"password", placeholder: "ameba password", onchange: "passwordChanged", value: "",classes: "input-style"} //,spotlight: true
   ]
}

当我尝试设置密码输入的焦点时,会引发此控制台错误:

 enyo.Spotlight.spot(this.$.userpwd);
我希望发生的是:

  • 用户使用屏幕键盘填写第一个输入
  • 然后,用户导航到屏幕键盘上的“回车”按钮,并按遥控器上的“ok/enter”
  • 焦点设置为第二个输入

我不太清楚“为什么”,但看看聚光灯光源,它看起来就像当一个控件被发现时,冻结模式被打开。现在,我想当你试图发现一个新的,它应该关闭,但它不这样做


您可以尝试:
enyo.Spotlight.unfreeze(),然后在第二个控件上设置点,但我还没有测试它是否有意外的副作用。

我不太清楚“为什么”,但看看聚光灯源,它看起来像是当一个控件被发现时,冻结模式打开了。现在,我想当你试图发现一个新的,它应该关闭,但它不这样做


您可以尝试:
enyo.Spotlight.unfreeze()根据enyo论坛上的@dmikeyanderson:

这意味着聚光灯已冻结在控件上,直到 解冻聚光灯无法移动。似乎没有什么问题 对于您的组件,您是否有更多的代码可以共享

根据enyo论坛上的@aarontam:

嗨@Fabii23‌, moon.InputDecorator将自动解冻 聚焦于一个模糊事件(来自moon.Input),你可以 调用enyo.Spotlight.spot()
。输入将自动模糊自身 当检测到按下Enter键时,但仅当 在moon.Input上dismissoneter标志设置为true。听起来像你 可能真的想调用所需的moon.Input(而不是 因为这只会显示聚光灯悬停的状态 输入装饰器,而不是实际发现它),类似这样的东西 (根据@dmikeyanderson的小提琴改编)‌)


根据enyo论坛上的@dmikeyanderson:

这意味着聚光灯已冻结在控件上,直到 解冻聚光灯无法移动。似乎没有任何问题 对于您的组件,您是否有更多的代码可以共享

根据enyo论坛上的@aarontam:

嗨@Fabii23‌, moon.InputDecorator将自动解冻 聚焦于一个模糊事件(来自moon.Input),你可以 调用enyo.Spotlight.spot()
.moon.Input将自动模糊自身 当检测到按下Enter键时,但仅当 在moon.Input上dismissonner标志被设置为true。听起来像您 可能真的想调用所需的moon.Input(而不是 因为这只会显示聚光灯悬停的状态 输入装饰器,而不是实际发现它),类似这样的东西 (根据@dmikeyanderson的小提琴改编)‌)


moon.InputDecorator将在模糊事件(来自moon.Input)时自动解冻聚光灯,然后您可以调用enyo.Spotlight.spot().moon.Input在检测到按下Enter键时会自动模糊自身,但仅当moon.Input上的
dismissoneter
标志设置为
true
时才会自动模糊。听起来您可能真的想调用所需moon.Input上的焦点(而不是定位,因为这只会在moon.InputDecorator上显示聚光灯悬停的状态,而不会实际定位它),类似这样的内容():


moon.InputDecorator将在模糊事件(来自moon.Input)时自动解冻聚光灯,然后您可以调用enyo.Spotlight.spot().moon.Input在检测到按下Enter键时会自动模糊自身,但仅当moon.Input上的
dismissoneter
标志设置为
true
时才会自动模糊。听起来您可能真的想调用所需moon.Input上的焦点(而不是定位,因为这只会在moon.InputDecorator上显示聚光灯悬停的状态,而不会实际定位它),类似这样的内容():


你从哪里得到“冻结模式下无法识别”呢?谷歌搜索“冻结模式下无法识别”这里只介绍我们。这就是你得到的确切信息吗?@Bergi这是源于moonstone deploy文件夹中build/app.js的控制台输出。@JoeFrambach这是源于moonstone deploy文件夹中build/app.js的控制台输出为什么否决?谷歌没有给出答案这一事实就是我在这里询问StackOverv的原因哦。如果我能在谷歌上找到答案,我就不会在这里问了。你从哪里得到“冻结模式下无法定位”呢?谷歌搜索“冻结模式下无法定位”这里只介绍我们。这就是你得到的确切信息吗?@Bergi这是源于moonstone deploy文件夹中build/app.js的控制台输出。@JoeFrambach这是源于moonstone deploy文件夹中build/app.js的控制台输出为什么否决?谷歌没有给出答案这一事实就是我在这里询问StackOverv的原因哦。如果我能在谷歌上找到答案,我不会在这里问。嘿,戴夫,是的,我试过解冻,有一些非直接的副作用。嘿,戴夫,是的,我试过解冻,有一些非直接的副作用。哇!同时发布。:)哇!同时发布。:)只是为了澄清一下,冻结模式是专门为moon.Input控件打开的(通过moon.inputdecotor的焦点处理程序),因为我们希望焦点保持在输入中,即使指针移动并悬停在另一个控件上,直到输入通过五向移动或指针单击其他位置模糊为止。回答得好,Aaron!)只是为了补充说明,冻结模式是打开的
enyo.create({
handlers: {
    onblur: 'blurHandler'
},
components: [{
    kind: "moon.InputDecorator",
    name: "emaildec",
    spotlight: true,
    defaultSpotlightLeft: "emaildec",
    components: [{
            kind: "moon.Input",
            name: "username",
            placeholder: "e-mail address",
            onchange: "nameChanged",
            value: "",
            classes: "input-style",
            dismissOnEnter: true,
        } //,spotlight: true
    ]
}, {
    tag: "br"
}, {
    kind: "moon.InputDecorator",
    name: "pwddec",
    spotlight: true,
    defaultSpotlightLeft: "pwddec",
    components: [{
            kind: "moon.Input",
            name: "userpwd",
            type: "password",
            placeholder: "ameba password",
            onchange: "passwordChanged",
            value: "",
            classes: "input-style"
        } //,spotlight: true
    ]
}],
blurHandler: function (sender, event) {
    if (event.originator === this.$.username) {
        this.$.userpwd.focus();
    }
}
}).renderInto(document.body);