ui-sref не работает с помощью ng-click (angular-touch), если используется без jQuery
Мне трудно удалить 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 в мобильном браузере
Я уже провел небольшое исследование и обнаружил, что объект события сломан:
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
,
Есть идеи?