我有一个放在asp.net LinkButton控件内的视频标签。单击时按钮会触发一些事件。如果用户点击视频,视频事件(播放视频)和按钮事件都会触发。我只想播放视频。
我在网上找到了不同的解决方案,但它们没有用。
这是我的javascript代码:
<script type="text/javascript">
function play(e)
{
if (!e) var e = window.event;
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
}
/*$(".pVideo").click(function (event) {
if (event.target == this) {
event.stopPropagation();
}
});*/
</script>
这是放置在LinkButton内部的视频标签(它放在标签内,但我认为这不是问题,因为标签没有onclick事件):
<asp:Label runat="server" Visible="false" ID="videoHolder">
<video controls="true" id="pVideo" onclick="play()">
<source src='<%# !String.IsNullOrEmpty(Eval("postVideo2").ToString()) ? "/uploadedVideos/" + Eval("postVideo2"): "" %>' type="video/mp4"/>
</video>
</asp:Label>
当调用play函数时,我在JS中遇到此错误:“找不到元素”,但我无法弄清楚原因。请注意,我在添加所需资源后也尝试了注释的JQuery函数,但我一直收到错误,说$ $未定义。
编辑:这就是我为JQuery做的,但仍然无效:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/script.js">
$("#pVideo").click(function () {
if (event.target == this) {
event.stopPropagation();
}
});
</script>
视频标记:
<asp:Label runat="server" Visible="false" ID="videoHolder">
<video controls="true" id="pVideo">
<source src='<%# !String.IsNullOrEmpty(Eval("postVideo2").ToString()) ? "/uploadedVideos/" + Eval("postVideo2"): "" %>' type="video/mp4"/>
</video>
我收到“找不到元素”错误。
有人可以告诉我如何在不触发父LinkButton事件的情况下播放视频吗?
感谢。