Javascript Dojo移动表单提交已停止工作

Javascript Dojo移动表单提交已停止工作,javascript,google-chrome,dojo,dijit.form,dojox.mobile,Javascript,Google Chrome,Dojo,Dijit.form,Dojox.mobile,使用DojoX Mobile从dijit/Form/Form监听submit事件已停止在Android上的Chrome中工作。这曾经有效,但现在不再有效: <form data-dojo-type="dijit/form/Form"> <input data-dojo-type="dojox/mobile/TextBox" name="user" placeholder="Email"> <br /> <input dat

使用DojoX Mobile从
dijit/Form/Form
监听
submit
事件已停止在Android上的Chrome中工作。这曾经有效,但现在不再有效:

<form data-dojo-type="dijit/form/Form">
    <input data-dojo-type="dojox/mobile/TextBox"
        name="user" placeholder="Email"> <br />
    <input data-dojo-type="dojox/mobile/TextBox" placeholder="Password"
        name="pass" type="password"> <br />
    <button data-dojo-type="dojox/mobile/Button" type="submit">Log In</button>
</form>
在做了一些挖掘之后,我发现它开始发生在Chrome53上。在Chrome 52中使用开发工具和设备模拟器进行测试是可行的,但在控制台中会发出以下警告:

JavaScript生成的DOM事件触发了浏览器内的默认操作。这种行为是非标准的,将于2016年9月左右在M53中删除。有关更多详细信息,请参阅

我的猜测是,它来自DojoX中一个合成的、不可信的事件(Chrome页面也指向了这个方向),因为一个普通的
成功地触发了事件,但是添加
DojoX/mobile/button会导致它失败


这是Dojo中没有解决的bug吗(我已经用1.10.4和1.11.2进行了测试)?我是否只需要使用一个变通方法,并有两个单独的侦听器-一个用于提交(即用户点击回车)按钮,另一个用于点击按钮?

我最近遇到了一个非常类似的错误,这似乎是因为Chrome 55现在支持“指针事件”。因此,在dojo初始化期间,
has('pointer-events')
将返回true,导致一些额外的代码运行,从而导致提交无法工作。我的解决方案是升级到最新的Dojo。这似乎是在1.11.0中制作的,已经很有趣了。谢谢你的提示。我会确保这不会影响我的用例。老实说,我强烈建议您不要使用dojox/mobile小部件。它们高度迎合了iOS和移动Chrome的特定版本,这让我们的开发团队非常悲痛。我们最终制作了自己的输入小部件库,可以在移动和桌面浏览器上使用。(我们建立响应性网站)我最近遇到了一个非常类似的错误,这似乎是因为Chrome55现在支持“指针事件”。因此,在dojo初始化期间,
has('pointer-events')
将返回true,导致一些额外的代码运行,从而导致提交无法工作。我的解决方案是升级到最新的Dojo。这似乎是在1.11.0中制作的,已经很有趣了。谢谢你的提示。我会确保这不会影响我的用例。老实说,我强烈建议您不要使用dojox/mobile小部件。它们高度迎合了iOS和移动Chrome的特定版本,这让我们的开发团队非常悲痛。我们最终制作了自己的输入小部件库,可以在移动和桌面浏览器上使用。(我们建立响应性网站)
on(registry.byId('loginForm'), 'submit', function (evt) {
    evt.preventDefault();
    if (!this.isValid()) { return; }
    alert('valid submit fired');
});