小编Kar*_*les的帖子

防止在父级而非子级上的touchmove默认值

我正在为iPad创建一个小的Web应用程序,我有几个元素,我阻止用户滚动,防止touchmove事件的默认.但是,我有一种情况,我需要用户能够滚动子元素.

我试过使用e.stopPropagation(); 但没有运气!我还尝试检测手指下的元素并放入e.preventDefault(); 在if语句中,但再次,没有运气.或者也许我只是混淆了......

有任何想法吗?从#fix div中删除.scroll div是最后的手段,因为它会引起各种令人头疼的问题.


编辑

我设法对它进行排序.好像我不明白使用.stopPropagation(); 哎呀!

工作代码:

<div id="fix">

    <h1>Hi there</h1>

    <div class="scroll">
        <ul>
            <li>List item</li>
            <li>List item</li>
            <li>List item</li>
        </ul>
    </div>

    <div class="scroll">
        <ul>
            <li>List item</li>
            <li>List item</li>
            <li>List item</li>
        </ul>
    </div>

</div>
Run Code Online (Sandbox Code Playgroud)

和Javascript:

$('body').delegate('#fix','touchmove',function(e){

    e.preventDefault();

}).delegate('.scroll','touchmove',function(e){

    e.stopPropagation();

});
Run Code Online (Sandbox Code Playgroud)

javascript jquery touch ipad

24
推荐指数
3
解决办法
4万
查看次数

Angular JS:链接承诺和摘要周期

注意:小提琴使用旧版本的Angular,并且它不再起作用,因为从1.2开始,Angular模板引擎不会透明地处理promises.

我正在寻找链接承诺来填充我的范围,然后让范围自动更新dom.

我遇到了这方面的问题.如果我在已经解决的承诺上调用"then",它会创建一个新的承诺(它将异步调用成功函数,但几乎立即调用).我认为问题是我们已经在调用成功函数时离开了摘要周期,所以dom永远不会更新.

这是代码:

<div ng-controller="MyCtrl">
    Hello, {{name}}! <br/>
    {{name2}}<br/>
    <button ng-click="go()">Clickme</button><br/>
    {{name3}}
</div>

var myApp = angular.module('myApp',[]);

function MyCtrl($scope, $q) {
    var data = $q.defer();    
    setTimeout(function() {$scope.$apply(data.resolve("Some Data"))}, 2000);
    var p = data.promise;

    $scope.name = p.then(angular.uppercase);
    $scope.name2 = p.then(function(x) { return "Hi "+x;});
    $scope.go = function() {
            $scope.name3 = p.then(function(x) { 
                // uncomment this to make it work:
                //$scope.$apply();
                return "Finally: "+x;
            });
    };
 }
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/QZM4d/

是否有某种方法可以在每次连接承诺时都不用调用$ apply来完成这项工作?

promise angularjs

15
推荐指数
1
解决办法
1万
查看次数

标签 统计

angularjs ×1

ipad ×1

javascript ×1

jquery ×1

promise ×1

touch ×1