使用jQuery .load()加载页面

时间:2014-06-06 14:21:56

标签: jquery html5

试图让这个工作几个小时后,我转向你们。

我想使用jQuery将页面加载到div标记中。我正在加载的页面有一个HTML5媒体播放器:

<h3> {{ title }} </h3>
<audio controls autoplay>
    <source src="/static/media/{{ song }}" type="audio/mp3">
    Your browser does not support this audio format.
</audio>

当我直接加载页面时它工作正常。当我这样做时:

<script type="text/javascript">
$(function() {

    $( ".song" ).click(function() {
        alert('hello')
    });

    $("#mp").load("/playsong?song_id=53847b72936aa27d640039f7");

});
</script>

它工作正常(并且hello消息有效!)

但是当我将load命令放在.click()事件中时,它不起作用:

<script type="text/javascript">
$(function() {

    $( ".song" ).click(function() {
        alert('hello')
        $("#mp").load("/playsong?song_id=53847b72936aa27d640039f7");
    });

});
</script>

我在后端使用flask,在所有情况下,后端的代码都会被执行。

1 个答案:

答案 0 :(得分:0)

试试这个:

<script type="text/javascript">
    $(function() {

        $(document).on("load","#mp","/playsong?song_id=53847b72936aa27d640039f7");
        $( ".song" ).click(function() {
            alert('hello')
            $( "#mp" ).trigger( "load" );
        });

    });
</script>

让我知道这是否有效,因为我有一个备用答案!