2015-02-10 49 views
1

我正在寫一個着名/角的移動應用程序。在任何視圖中向右滑動都會顯示菜單。爲此,我設置了以下事件處理:排除輸入事件在着名角從一般事件

var MouseSync = $famous["famous/inputs/MouseSync"]; 
var TouchSync = $famous["famous/inputs/TouchSync"]; 
var GenericSync = $famous['famous/inputs/GenericSync']; 

$scope.sync = new GenericSync(
     ["mouse", "touch"], 
     {direction: GenericSync.DIRECTION_X} 
); 

$scope.sync.on('update', function(data){ 
    // do stuff while swiping 
}); 

$scope.sync.on('end', function(data) { 
    // do stuff at swipe end 
}); 

以上都是正常工作。我現在的問題是,我在某些視圖中輸入了html輸入,由於上述原因我無法訪問/輸入這些視圖。表面中,這些都包含管他們的活動,以「同步」:

<fa-surface fa-pipe-to="sync"> 
    <input type="text"></input> 
</fa-surface> 

我知道這裏的問題是,在我輸入的點擊事件上同步傳遞。我只是不知道該怎麼辦。有任何想法嗎?

非常感謝!

回答

0

您是否嘗試過使用HTML5自動對焦屬性<input type="text" autofocus></input>或將焦點設置爲點擊? <input type="text" ng-click="focus($event)"></input>

對於第二個選項,您將需要建立一個功能的範圍如下:

$scope.focus = function(ev){ ev.target.focus() }

+0

謝謝,夥計。你的第二個想法有效。但是,由於事件仍然通過,因此同步滑動功能在輸入時保持啓用狀態,例如,在選擇輸入的文本時該功能不好。所以這還沒有完全解決問題。你認爲從管道切換到訂閱可能有幫助嗎?今天晚些時候我會放棄...歡呼! – burtelli 2015-02-12 09:19:51

+0

這很難...你能設置一個JSFiddle或Codepen,我可以看看嗎? – codescholar 2015-02-12 20:01:34

+0

奇怪的是它在移動設備上沒有問題。由於某些原因,觸摸事件的處理方式與點擊不同。不過,我會從今天的希望看看訂閱,如果那不行,我會設置這個jsfiddle。謝謝。 – burtelli 2015-02-13 08:19:37