我有一个jquery可拖动的外部iframe。我需要使iframe内的元素可拖放。当我拖到iframe上方时,"over"事件不会触发,但如果我继续拖到iframe上方,"over"事件会触发。
看起来这个也被贴在这里,但从来没有回答过。jQuery和iframes和奇怪的定位:有一个解决方案吗?
编辑:代码示例 html<div id="draggable">
</div>
<iframe id="iframe"/>
javascript $("#draggable").draggable();
var body = $('#iframe').contents().find('body');
$(body).droppable({
over:function(event,ui) {
alert('over droppable');
}
});
我认为你可以像这样使用代码。
html<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
</head>
<body>
<div style="width:400px; height:200px; overflow:auto">
<iframe src="iframe.html" style="width:400px; height:400px;"></iframe>
</div>
<div style="width:60px; height:60px; background-color: #808080" id="drag"></div>
</body>
</html>
javascript $(function () {
$("iframe").load(function () {
var iframe = $(this).contents();
iframe.find('#iframe_container').droppable(
{
iframeFix: true,
drop: function (event, ui) { alert('dropped'); }
});
});
$('#drag').draggable({iframeFix: true});
});