代码之家  ›  专栏  ›  技术社区  ›  burtelli

从一般事件中排除著名角度的输入事件

  •  1
  • burtelli  · 技术社区  · 10 年前

    我正在编写一个移动应用程序,使用著名的/棱角分明的。在任何视图中向右滑动都会显示菜单。为此,我设置了以下事件处理:

    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>
    

    我知道这里的问题是我输入上的点击事件被传递到同步。我只是不知道该怎么办。有什么想法吗?

    非常感谢!

    1 回复  |  直到 10 年前
        1
  •  0
  •   steveblue    10 年前

    你尝试过HTML5自动对焦属性吗 <input type="text" autofocus></input> 或者将焦点设置为单击? <input type="text" ng-click="focus($event)"></input>

    对于第二个选项,您需要在作用域上设置一个函数,如下所示:

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