我使用angular ui-sortable通過拖放來訂購商品。被排序的項目也會附加一個點擊事件。在Firefox中,放棄其中一個項目會觸發點擊事件。在我測試過的所有其他瀏覽器中,並沒有。angular ui-sortable:在Firefox中停止點擊事件
Here's一個簡單的例子(檢查控制檯日誌):
HTML
<div ng-app="app" ng-controller="ctrl as vm">
<div ui-sortable="vm.sortableOptions" ng-model="vm.items">
<div ng-repeat="item in vm.items">
<a href ng-click="vm.log()">
<div class="box"></div>
</a>
</div>
</div>
</div>
CSS
.box {
width: 100px;
height: 100px;
background: #ff0000;
margin: 8px;
}
JS
angular.module('app', ['ui.sortable'])
.controller('ctrl', [function() {
var vm = this;
vm.sortableOptions = {
stop: function (e) {
}
}
vm.items = [
{},
{},
{},
{}
];
vm.log = function() {
console.log('clicked');
}
}]);
我想這不會發生。調用Event.preventDefault()不會像我希望的那樣工作(可能是因爲它是一個角度單擊事件)。
我當然可以在停止回調中設置某種標誌(它似乎總是在點擊處理程序之前觸發),但我更喜歡更清潔的解決方案,因爲這可能會有點難以跟蹤。
你看到了[this ffox specific stack post](http://stackoverflow.com/a/12694427/4747123)我假設?看起來像是同樣的問題 - 並且表明你的'魔法標誌'是(不幸的)答案。 – bri
@bri不,我錯過了一些如何,謝謝你的鏈接 – aw04