1

我从服务器获得了一个动态构建的 html 表。最终它给了我一张看起来像这样的表格:

<div id="player"></div>

<table id="webcam-table">
            <thead>
            <tr>
                <th>Camera Name</th>
                <th>Date Created</th>
            </tr>
            </thead>
            <tbody>             
            <tr >
                <td onclick="DoNav('http://myserver.com:1935/recordings/myfile1.mp4');">
                    Default camera 
                </td>
                <td onclick="DoNav('http://myserver:1935/recordings/myfile1.mp4');">
                    06 May 2012 07:25:01 
                </td>
                </tr>

            <tr >
                <td onclick="DoNav('http://myserver.com:1935/recordings/myfile2.mp4');">
                    Default camera 
                </td>
                <td onclick="DoNav('http://myserver.com:1935/recordings/myfile2.mp4');">
                    06 May 2012 07:24:47 
                </td>
                </tr>
</tbody></table>

如果有人单击表格上的行,它会调用 DoNav 函数来插入视频。

function DoNav(theUrl)
{
   var mydiv = $("#player");
   var myvideo = $("<video id='myfileplayer' src='"+ theUrl +"' width='280' height='200' controls></video>");
   $mydiv.append($myvideo);
   $(myvideo).click(function(){
       $mydiv.show();
});
}

如果我单击任何行,我目前没有视频。我正在为 iDevices 创建此代码,因此我很难获得任何调试信息。但它似乎没有显示任何 javascript 错误。我究竟做错了什么?

4

3 回答 3

2

看起来你正在引用你的变量$

var mydiv

可以通过mydiv.propertynot访问$mydiv.property

您应该查看 jQueryon函数,而不是使用onclick标记中的每个表列。

于 2012-05-06T18:03:19.660 回答
1

而不是$mydiv.append($myvideo);尝试mydiv.append($myvideo); 也更改$(myvideo).clickmyvideo.click$mydiv.show();mydiv.show();

于 2012-05-06T17:58:55.917 回答
1
function DoNav(theUrl)
{
   var mydiv = $("#player");
   var myvideo = $("<video id='myfileplayer' src='"+ theUrl +"' width='280' height='200' controls></video>");
   mydiv.append(myvideo);
   $("#myfileplayer").click(function(){
       //$(this).load(); //active this later
       $(this).play();
   });
}
于 2012-05-06T18:01:31.323 回答