我看过主题的变化,但没有明确的答案。基本上我想要一个注册点击并将额外内容插入页面的AngularJS指令,然后向下滚动一点以使新内容可见。这是HTML
<li class="btn btn-default" ng-show="resto.link !== 'none'">
<p scroll-down onclick="void(0)">
Full review
<span class="glyphicon glyphicon-chevron-right right"></span>
</p>
</li>
</ul>
<div class="row">
<div class="col-xs-12" ng-bind-html="fullReview">
</div>
</div>
onlick部分是Apple suggestion,似乎不起作用。 然后我有:
.directive 'scrollDown', () ->
restrict: 'A'
link: (scope, $elm, attrs) ->
$elm.on 'click', (e) ->
e.preventDefault()
scope.getFullReview () ->
console.log "Scrolling'
$("body").animate
scrollTop: $elm.offset().top - 100
, "slow"
getFullReview()在AJAX调用后更新模型,然后运行回调。
这在Chrome中运行良好,但在iOS模拟器上运行不正常 - 基本上是第一次点击使页面移动(但没有触发控制台日志 - 我认为这是重新生成的URL栏),需要第二次才能触发指令&# 39; s链接功能。我也安装了fastclick,因为在一些帖子中提到过,但它没有帮助。
需要想法:-)(甚至一些代码可以告诉我什么事件被safari触发)
答案 0 :(得分:0)
好的,哇,我不明白为什么,但上面的html是页面上的最后一个标记,所以这一切都发生在屏幕的底部。当我为<ul>
元素添加一些额外的余量时,一切都开始完美! Safari中的错误?