Javascript jQuery removeClass在Firefox中重新呈现视频播放器

Javascript jQuery removeClass在Firefox中重新呈现视频播放器,javascript,jquery,firefox,jwplayer,Javascript,Jquery,Firefox,Jwplayer,我对Firefox中的removeClass有一个最恼人的问题。 我用它来改变页面上的一些元素,这样当我调整播放器的大小时,布局看起来很好。我正在使用jwplayerapi使用jqueryclick方法调整播放器的大小,然后它会自动开始播放,或者从原来的位置开始播放 现在,所有这些在IE(令人惊讶)、Chrome、Opera和Safari中都能完美运行。它看起来没有打嗝。但Firefox将重新初始化播放器,并重新开始。我有一个removeClass,我在环绕玩家的div上执行。如果我把它去掉,F

我对Firefox中的
removeClass
有一个最恼人的问题。 我用它来改变页面上的一些元素,这样当我调整播放器的大小时,布局看起来很好。我正在使用jwplayerapi使用jqueryclick方法调整播放器的大小,然后它会自动开始播放,或者从原来的位置开始播放

现在,所有这些在IE(令人惊讶)、Chrome、Opera和Safari中都能完美运行。它看起来没有打嗝。但Firefox将重新初始化播放器,并重新开始。我有一个
removeClass
,我在环绕玩家的div上执行。如果我把它去掉,Firefox就会做它应该做的事情。我必须使用
removeClass
重新调整布局。它适用于
addClass
,但不适用于
removeClass

你知道为什么它不能正确使用
removeClass()
吗? 下面是我希望它如何工作的代码,它适用于除FF之外的所有浏览器

jQuery(document).ready(function(){  
jQuery("#expand").live("click",function(event){
  var time = jwplayer().getPosition();
  var cont = $('#lcontents').html();
   $('#tleft').html(cont);
   $('#pleft').addClass("centerText videoWide");
   $('#pleft').removeClass("column-video-left"); 
   $('#lcontents').html("");
   $('#tleft').addClass("column-video-left");

   jwplayer().resize("854","480");
    if(time > 0){
        jwplayer().onReady(function() {             
            jwplayer().seek(time);          
        });
    }else if(time < 1){ 
        jwplayer().play();
    };
event.preventDefault();
});
});
jQuery(document).ready(function(){
jQuery(“展开”).live(“单击”),函数(事件){
var time=jwplayer().getPosition();
var cont=$('#lcontents').html();
$('#tleft').html(续);
$('#pleft').addClass(“centerText videoWide”);
$('#pleft').removeClass(“列视频左”);
$('lcontents').html(“”);
$('#tleft').addClass(“列视频左”);
jwplayer()。调整大小(“854”、“480”);
如果(时间>0){
jwplayer().onReady(函数(){
jwplayer().seek(时间);
});
}如果(时间<1){
jwplayer().play();
};
event.preventDefault();
});
});
编辑-下面的代码是html

<div id="pleft" class="column-video-left">
    <div id="rsplayer" class="video">jwplayer code renders here</div>
    <div id="expand" style="text-align:center"><a href="#">Expand Player</a></div>
    <div id="lcontents">
            regular html code here.... which gets moved to div tleft
    </div>
</div>
<div id="expand1"></div>
<div id="tleft"></div>

jwplayer代码呈现在这里
常规html代码在这里。。。。然后移到div tleft

您是否尝试手动修改class属性并查看其是否有效?

这可能是Firefox 3.6中的已知错误。您可以在Firefox4候选版本中试用,看看是否仍然存在相同的问题。如果你不知道,那么擅长Bugzilla搜索的人就可以知道bug是什么,以及修复程序是否会被后传到3.6分支。

@Pjack:例如,使用Firebug(只需双击类名)。明白了。不,如果您在播放时使用firebug手动删除该类,它将停止播放器并重新初始化。但是如果手动添加我想要的类,它会进行更改,但会继续播放。我使用的是ff 3.6.15。那辆sux同意了。您是否尝试过使用任何其他属性(id/name/等)作为选择器,并查看它是否仍然会导致元素重新加载?Firebug可能会做与jQuery大致相同的事情。您还可以尝试使用(IIRC不是跨浏览器的,所以不能在生产中使用),看看是否有相同的效果。另一个数据点,我无法重现你的问题。我的设置似乎在我测试过的所有浏览器和操作系统上都能完美运行。出现问题是因为您使用的是HTML5播放器吗?如果没有,您正在运行哪个版本的Flash?你在运行什么操作系统?你能在一个公开访问的站点上重现这个问题吗?