无法在 IE 中的文本框中键入 AngularJS/Cordova/Bootstrap
Can't Type In Textbox In IE AngularJS/Cordova/Bootstrap
我正在使用适用于 VS2013(Cordova 版本 3.6.4)的 Cordova 3 工具开发应用程序。当我在 Windows 中部署到本地计算机时,我得到 <input type="text>
的以下行为:
- 我无法输入任何
<input type="text>
。
- 当我将焦点放在
<input type="text>
上时,光标会在其他地方随机闪烁。
即使使用以下标记 <input type="text" name="name" value=" " />
,作为 <body>
中的第一个节点,我也得到了这种行为。
我做过的调试:
- 使用 ng-focus 来查看哪个元素具有焦点并且它是正确的元素。
- 使用了 ng-keypress,它也引用了正确的元素。
- 检查 Chrome 没有这个问题。
我目前的解决方案
我将 <input type="text>
更改为 <textarea style="height:34px;">
。我宁愿它能正常工作,但这现在就足够了。
该问题似乎与通用 Windows 应用程序 (IE) 的 CSP(内容安全策略)规则有关(有趣的是 Chrome 扩展。
解决方法很简单,只需将 ng-csp 放入页面的 html 元素中即可。这将允许您重新获得对输入元素(文本框)的编辑控制。您的代码应该类似于
<html ng-csp>
在这里阅读更多内容:AngularJS Documentation ng-csp
我正在使用适用于 VS2013(Cordova 版本 3.6.4)的 Cordova 3 工具开发应用程序。当我在 Windows 中部署到本地计算机时,我得到 <input type="text>
的以下行为:
- 我无法输入任何
<input type="text>
。 - 当我将焦点放在
<input type="text>
上时,光标会在其他地方随机闪烁。
即使使用以下标记 <input type="text" name="name" value=" " />
,作为 <body>
中的第一个节点,我也得到了这种行为。
我做过的调试:
- 使用 ng-focus 来查看哪个元素具有焦点并且它是正确的元素。
- 使用了 ng-keypress,它也引用了正确的元素。
- 检查 Chrome 没有这个问题。
我目前的解决方案
我将 <input type="text>
更改为 <textarea style="height:34px;">
。我宁愿它能正常工作,但这现在就足够了。
该问题似乎与通用 Windows 应用程序 (IE) 的 CSP(内容安全策略)规则有关(有趣的是 Chrome 扩展。
解决方法很简单,只需将 ng-csp 放入页面的 html 元素中即可。这将允许您重新获得对输入元素(文本框)的编辑控制。您的代码应该类似于
<html ng-csp>
在这里阅读更多内容:AngularJS Documentation ng-csp