0

我有一个播放流的网站。一旦有人按下按钮,我就会对服务器执行 AJAX 调用。

<input type="submit" class="play" data-type="<?php echo $result_cameras[$i]["camera_type"]; ?>" data-hash="<?php echo $result_cameras[$i]["camera_hash"]; ?>" value="<?php echo $result_cameras[$i]["camera_name"]; ?>">

这会打印出一组用户可以选择的按钮。这由以下代码处理:

<script>
$(document).ready(function(){

$(".play").click(function(){
    var camerahash = $(this).data('hash');
    var cameratype = $(this).data('type');
    function doAjax(){
        $.ajax({
            url: 'index.php?option=streaming&task=playstream&id_hash=<?php echo $id_hash; ?>&camera_hash='+camerahash+'&format=raw',
            success: function(data) {
                if (data == 'Initializing...please wait')
                {
                    $('#quote p').html(data);
                    setTimeout(doAjax, 2000);
                }
                else
                {
                    if (cameratype == "WEBCAM" && data == 'Stream is ready...')
                    {
                        $('#quote p').html(data);
                        window.location = 'rtsp://<?php echo DEVSTREAMWEB; ?>/<?php echo $session_id;?>/'+camerahash;
                    }
                    else if (cameratype == "AXIS" && data == 'Stream is ready...')
                    {
                        $('#quote p').html(data);
                        window.location = 'rtsp://<?php echo DEVSTREAMIP; ?>/<?php echo $session_id;?>/'+camerahash;
                    }
                    else
                    {
                        $('#quote p').html(data);
                    }

                }

            }
        });

    }
    doAjax();
});
});
</script>

服务器返回诸如Stream is ready.... 我的问题是,除了点击额外的按钮外,一切都很好。特别是当他们获得成功(视频播放)并退出时,如果他们单击另一个按钮,他们不会收到任何其他消息。就好像没有触发点击事件一样。我需要对点击处理程序做些什么来响应吗?

4

1 回答 1

0

对动态加载的按钮使用委托事件。要实现委托事件,请使用 jQueryon()方法。

的语法.on()

$(parent).on(eventName, target, handler);
于 2012-09-17T03:36:16.830 回答