Angularjs Angular-Material 后退按钮执行两次
Angularjs Angular-Material Back Button Executes Twice
我刚刚将 angular-material v1.1.20 合并到我的 angularjs v1.3.13 项目中,现在,仅当 运行 在移动设备上并按后退按钮,后退操作执行两次。在调试期间调查调用堆栈时,我注意到 angular 后退按钮 eventHandler 被连续调用两次,如下面的屏幕截图所示。知道如何阻止这种情况发生吗?
似乎我能够通过简单地修改 angular-material.js
(v1.1.20) 并添加以下内容来解决此事件传播问题:
4095 eventObj.srcEvent = srcEvent;
+ eventObj.immediatePropagationStopped = true;
4096
4097 angular.extend(eventObj, {
...
4166 eventObj.srcEvent = srcEvent;
+ eventObj.immediatePropagationStopped = true;
4167 eventPointer.target.dispatchEvent(eventObj);
或通过运行以下正则表达式查找和替换:
查找 - eventObj\.$material = true;\n eventObj\.pointer = eventPointer;\n eventObj\.srcEvent = srcEvent;
替换 - [=13=]\n eventObj.immediatePropagationStopped = true;
angular-material.min.js
也可以通过运行修改以下查找替换正则表达式:
查找 - $material=!0,o\.pointer=n,o\.srcEvent=e,
替换 - [=16=]o.immediatePropagationStopped=!0,
我刚刚将 angular-material v1.1.20 合并到我的 angularjs v1.3.13 项目中,现在,仅当 运行 在移动设备上并按后退按钮,后退操作执行两次。在调试期间调查调用堆栈时,我注意到 angular 后退按钮 eventHandler 被连续调用两次,如下面的屏幕截图所示。知道如何阻止这种情况发生吗?
似乎我能够通过简单地修改 angular-material.js
(v1.1.20) 并添加以下内容来解决此事件传播问题:
4095 eventObj.srcEvent = srcEvent;
+ eventObj.immediatePropagationStopped = true;
4096
4097 angular.extend(eventObj, {
...
4166 eventObj.srcEvent = srcEvent;
+ eventObj.immediatePropagationStopped = true;
4167 eventPointer.target.dispatchEvent(eventObj);
或通过运行以下正则表达式查找和替换:
查找 - eventObj\.$material = true;\n eventObj\.pointer = eventPointer;\n eventObj\.srcEvent = srcEvent;
替换 - [=13=]\n eventObj.immediatePropagationStopped = true;
angular-material.min.js
也可以通过运行修改以下查找替换正则表达式:
查找 - $material=!0,o\.pointer=n,o\.srcEvent=e,
替换 - [=16=]o.immediatePropagationStopped=!0,