我很难从我们的应用程序中删除 jQuery。主要问题:一个简单的链接ng-click
结合ui-sref
:
<a data-ui-sref="main2" data-ng-click="reportClick()">Link</a>
结果:ng-click
着火了,ui-sref
没有。这仅在使用angular-touch时发生,没有jQuery作为依赖项和移动浏览器,或者在新的 chrome 32 中模拟移动设备(我使用 Nexus 4 作为模拟目标)。
一个运行示例:http: //jsfiddle.net/scheffield/AEfMm/
看效果: http: //jsfiddle.net/scheffield/AEfMm/show in a mobile browser
我已经做了一些研究,发现事件对象已损坏:
element.bind("click", function(e) {
var button = e.which || e.button;
if ((button === 0 || button == 1) && !e.ctrlKey && !e.metaKey && !e.shiftKey) {
// HACK: This is to allow ng-clicks to be processed before the transition is initiated:
$timeout(function() {
scope.$apply(function() {
$state.go(ref.state, params, { relative: base });
});
});
e.preventDefault();
}
});
它是一个对象,只包含两个实现为angular.noop
.
有任何想法吗?