Jquery jPlayer pause按钮是“显示内联”,但应为“块”

Jquery jPlayer pause按钮是“显示内联”,但应为“块”,jquery,css,jquery-ui,jplayer,Jquery,Css,Jquery Ui,Jplayer,我使用jPlayer jquery ui主题: 当我点击播放器上的暂停按钮时,按钮显示“暂停”标题,而暂停图标不显示。图标应该由jquery ui类放置:ui图标ui图标暂停 在将其与上面链接中的原始样式进行比较时,我注意到在a元素中,“display:none”内联样式被display:inline替换 在原始版本中,它被display:block <a title="pause" tabindex="2" class="jp-pause ui-icon ui-icon-pause" h

我使用jPlayer jquery ui主题:

当我点击播放器上的暂停按钮时,按钮显示“暂停”标题,而暂停图标不显示。图标应该由jquery ui类放置:ui图标ui图标暂停

在将其与上面链接中的原始样式进行比较时,我注意到在a元素中,“display:none”内联样式被
display:inline
替换
在原始版本中,它被
display:block

<a title="pause" tabindex="2" class="jp-pause ui-icon ui-icon-pause" href="javascript:;" style="display: none;">pause</a>

在Firebug中修复此问题,图标呈现正确

那么,为什么在单击暂停按钮时,它会将我的播放机中的
display:none
替换为
display:inline
,而不是
display:block


我猜jPlayer使用jquery的hide()&show()来切换按钮。

我刚刚用jPlayer解决了同样的问题。上面的初始注释是100%正确的,jquery show()方法指定一个内联样式。以下是修复方法:

  • 请访问开发者网站并下载最新的未精简源代码-
  • 打开这个文件jquery.jplayer.js并找到第1621行
  • 做以下改变
  • 错误代码:

    this.css.jq.pause.show();
    
    更改为(工作):


    太棒了,希望它能为您工作

    对我来说,这个问题是由于延迟加载样式表造成的。
    确保在初始化播放器之前加载了皮肤样式。

    起初,我试图添加
    显示:块。只有这样,加载时暂停按钮才会闪烁。所以这不是一个好的解决方案

    通过谷歌搜索,我发现解决这个问题的一种方法是用一个除法来更改锚,如下所示:

    内联版本:

    <a href="#" class="jp-play">Play</a>
    <a href="#" class="jp-pause">Pause</a>
    
    
    
    块版本:

    <div class="jp-play">Play</div>
    <div class="jp-pause">Pause</div>
    
    播放
    暂停
    
    然后“暂停”按钮按预期显示为块


    来源:

    谢谢,我想知道这是否是jPlayer中的一个bug,如果是的话,应该正式修复。或者这是一个错误的配置?
    <div class="jp-play">Play</div>
    <div class="jp-pause">Pause</div>