首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Onclick不值得使用audio.js

Onclick不值得使用audio.js
EN

Stack Overflow用户
提问于 2013-08-22 00:05:55
回答 2查看 658关注 0票数 0

我正在对使用audio.js作为音频播放器的website进行故障排除。我正在尝试使用单击方法配置音频播放器的event callbacks,但它无法识别我的单击。然而,它在这个jsfiddle上的工作方式应该是这样的。非常感谢您的任何帮助。

我所做的-删除了所有的CSS和不相关的脚本。单击在audiojs类之前和之后的div上的method works。

我用在音频播放器上的短码-

代码语言:javascript
复制
// audio player
add_shortcode( 'sp_audio', 'sp_audio_shortcode' );
function sp_audio_shortcode( $atts, $contents = null ) 
{
    extract( shortcode_atts( array(
        'id' => 'sp-audio-player',
        'url' => '',
        ),
        $atts ) );


    $output .= '<audio preload="none">';
        $output .= '<source src="' . $url . '" type="audio/mpeg">';
    $output .= '</audio>';

    return $output;
}

Chrome的inspect元素中的输出

代码语言:javascript
复制
<div class="musicplayer">
<div class="audiojs" classname="audiojs" id="audiojs_wrapper5">
    <audio preload="none">
        <source src="http://soundtrackloops.com/Demo/Electronisounds-AcousticBarefootBeats-DEMO.mp3" type="audio/mpeg">
    </audio>          
    <div class="play-pause">             
        <p class="play"></p>             
        <p class="pause"></p>             
        <p class="loading"></p>             
        <p class="error"></p>          
    </div>           
    <div class="scrubber">             
        <div class="progress"></div>             
        <div class="loaded"></div>           
    </div>           
    <div class="time">             
        <em class="played">00:00</em>/<strong class="duration">00:00</strong>           
    </div>           
    <div class="error-message"></div>
</div>

我的测试单击方法

代码语言:javascript
复制
jQuery(document).ready(function($) {  

$( ".audiojs" ).click(function() {
  alert( "CLICK" );
});

初始化audio.js

代码语言:javascript
复制
audiojs.events.ready(function() {
    audiojs.createAll();
});  
EN

回答 2

Stack Overflow用户

发布于 2013-08-22 04:25:53

看起来你是在页面加载之后添加音轨,所以你需要使用一个实时的点击事件。

试试这个:

代码语言:javascript
复制
jQuery(document).ready(function($) {  

$('.audiojs').live('click', function() {
  alert( "CLICK" );
});
票数 0
EN

Stack Overflow用户

发布于 2013-12-22 06:54:08

我遇到了类似的问题,并通过在音频对象上使用事件侦听器解决了这个问题。我猜这取决于你想要跟踪什么,但这让你可以控制播放和停止等。

我调整了我的代码,这样它就可以和你的代码一起工作了

代码语言:javascript
复制
audiojs.events.ready(function() {
var as = audiojs.createAll();

$(".audiojs audio").on('playing',function(){
    console.log("Push playing");
});

    // Other callbacks
});

希望你能让它正常工作。我每页只有一个播放器,如果你有更多的播放器,只需在回调中使用$(this)元素来识别哪个被修改了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18362463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档