Jquery UI可拖动Flash对象

3

我该如何使Flash对象可拖动。以下是YouTube嵌入代码。我尝试将播放器设为可拖动状态,但在对象标签上执行.draggable似乎无效。有什么建议吗?

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/themes/base/jquery-ui.css" type="text/css" media="all" /> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js" type="text/javascript"></script>



<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/qgnfcCZ_yew?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/qgnfcCZ_yew?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>

<script type="text/javascript">
$("object").draggable();
</script>
1个回答

2
您需要将嵌入代码包装在一个div中。 请查看可工作的代码:http://jsfiddle.net/CTKhK/1
<div id="youVid">
  ... // place embed code here
</div>

$(function(){
$("#youVid").draggable();
});

编辑: 看看这个是否能说服您: http://jsfiddle.net/CTKhK/2/


1
@Eric:是的,你可以给 div 添加填充和边框,使其更清晰地表明它是可拖动的。 - Andrew Whitaker
我知道这一点。但这不是正确的解决方案。用户应该能够点击播放器本身并将其移动,而不必猜测从哪里拖动。在这种情况下,填充或边距都无法帮助。 - Hussein
1
@alex:那用户如何能够点击播放视频呢? - Andrew Whitaker
正是这个意思。我见过这样的做法,但不记得在哪里看到了。现在我要处理拖动玩家的问题,发现这是一个挑战。我想我们可以在拖动时使拖动可用(玩家按钮不可用),因为拖动不被视为点击。然后,如果我们点击玩家,我们会取出拖动盾并再次激活玩家。我不知道正确的解决方案是什么,或者是否有人曾经处理过类似的问题。 - Hussein
@alex 好的,你可以解决你的问题。比如创建一个div来覆盖嵌入代码,高度要小一些以便控件不被遮挡,然后给该覆盖层应用可拖动dragabble()。然后你需要编写一些js代码将覆盖层的坐标与"youDiv"匹配。这有点hackish,但否则用户将无法控制视频播放。 - Eric Fortis
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接