【问题标题】:JQuery live() function stops firing after css transitionjQuery live() 函数在 css 转换后停止触发
【发布时间】:2012-05-15 03:25:16
【问题描述】:

这是我所拥有的:

<div id="wrapper">
    <div id="container">

    </div>
</div>

#container
{  
    transition: opacity .2s ease-in-out;
    -webkit-transition: opacity .2s ease-in-out;
    -moz-transition: opacity .2s ease-in-out;
    -o-transition: opacity .2s ease-in-out;
    -ms-transition: opacity .2s ease-in-out;
    top: 0%;
    z-index: 0;
    width: 100%;
    height: 100%;

}
#wrapper
{
     width: 2048px;
     height: 1536px;
     position: absolute;
}

容器 div 包含带有点击事件的热点内容。包装器用于通过 css 动画左右移动内容。但是,在应用此动画后,动画效果很好:

$('#wrapper').css('-webkit-transition','-webkit-transform 0s ease-out').css('-webkit-transform','translate3d(' + '2048px,0px,0)');

容器 div 内的热点事件没有响应....我认为静态定位的热点现在已关闭。有没有更好的方法来实现这一目标?


@Connor:这是一个小提琴链接,但它不是一个工作副本,但希望它足以让您了解它是如何设置的...... http://jsfiddle.net/dTVqx/


另一个更新:我为热点添加了边框,并且热点确实位于正确的位置和顶部,因此在执行 css 动画后似乎可能以某种方式禁用了事件??

这是我当前的 live() 调用:

$('.modal').live('tap',function(event) 
{
  ...
}

I ALSO DID TRY on()

$(".modal").on("tap", function()
{
...
}

but on() does not work at all, even before the transition

【问题讨论】:

  • 你知道可以使用一个JS对象来设置.css()中的几个属性,而不是一遍又一遍地调用它,例如:$(selector).css({height: 100px, width: 100px});
  • @connor : 我添加了小提琴链接

标签: jquery events html static absolute


【解决方案1】:

我在你的小提琴中没有看到 live() 调用,但从 1.7 开始,live() 已被弃用。尝试改用 on() 和 off() 函数,看看是否会产生您正在寻找的功能?

【讨论】:

  • 是的,我的小提琴不是一个完整的工作副本。我知道 live() 已被弃用,但是 on() 甚至在 mt 动画之前根本不起作用。我在上面添加了我的 live() 和 on() 调用:
  • $(".modal").on("tap", function() ---- 你在用jQuery mobile吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-14
  • 1970-01-01
  • 2012-03-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多