javascript事件e.which的功能是什么?请举例说明.
我一直在寻找一个可以通过HTML5视频"擦洗"的解决方案.我还没有找到一个,并且即将开始写我自己的.但在我这样做之前,我认为首先将它运行到SO是有道理的.
在我们进入我的方法之前,请看到:
http://www.kokokaka.com/demo/bluebell_ss10/site
这个网站当然是用Flash构建的,但它是我想用HTML5实现的一个例子.
我已经在视频标签上尝试了playbackRate(-1)属性而没有太多运气.我怀疑这是因为编码(ogg,mp4,vp8)更适合转发播放.
有了这个,我看到两种可能的方法:
创建两个视频,一个用于前向播放,另一个用于向后播放.这当然会使任何不理想的视频的大小翻倍.
将视频分成单独的jpg帧并换出图像.这意味着我没有声音,但在我的特定应用中,这不是问题.
我觉得第二种选择最适合我的特定应用,并允许一些灵活的播放.你怎么看?
我正在使用这个HTML,CSS和Javascript代码(如果你想测试它,可以在一个文档中):
<style type="text/css">
#slider_container {
width: 200px;
height: 30px;
background-color: red;
display:block;
}
#slider {
width: 20px;
height: 30px;
background-color: blue;
display:block;
position:absolute;
left:0;
}
</style>
<script type="text/javascript" src="../../js/libs/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#slider").mousedown(function() {
$(document).mousemove(function(evnt) {
$("#test").html("sliding");
}).mouseup(function() {
$("#test").html("not sliding");
$(document).unbind("mousemove mouseup");
});});
});
</script>
<div id="test">a</div>
<div id="slider_container">
<div id="slider"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
一切(令人惊讶的)在IE中运行良好,但是当使用这个javascript时,firefox似乎完全是clusterf*ck.第一个"幻灯片"没问题,你拖动,它说"滑动",你下降,它说"没有滑动".在第二个"幻灯片"(或mousedown,如果你愿意),firefox突然认为div是一个图像或链接,并想要拖动它.
拖动的屏幕截图:

显然,在红色div中半定位的蓝色div是被拖动的那个.拍摄屏幕截图时,Windows不捕获光标,但它是一个停止标志.
有什么办法可以阻止这种默认行为吗?