'data(...).options' is null or not an object
Hello, I got a strange message on IE7 (but no error on firefox and IE6):
-
line: 23
'data(...).options' is null or not an object
Does any one has any clue about this problem?
I'm executing the following code:
-
<html>
<head>
<link type="text/css" href="jquery/css/start/jquery-ui-1.7.1.custom.css" rel="Stylesheet" />
<script type="text/javascript" src="jquery/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="jquery/js/jquery-ui-1.7.1.custom.min.js"></script>
<script type="text/javascript">
var effectiveDragged=null;
var draggableList=[];
var currentDropOver=null;
var startX=0;
var startY=0;
function maskOtherDraggable(){
for(var _o in draggableList){
if(effectiveDragged!=draggableList[_o]){
$("#"+draggableList[_o]).draggable("destroy");
$("#log").attr("value", $("#log").attr("value")+"\r\ndisable draggable:"+draggableList[_o]);
}
}
}
function restoreOtherDraggable(){
for(var _o in draggableList){
if(effectiveDragged!=draggableList[_o]){
$("#"+draggableList[_o]).draggable();
}
}
}
function registerDraggable(o){
draggableList[draggableList.length]=o.attr("id");
o.draggable();
o.bind("dragstart", function(event, ui){
if(effectiveDragged!=null){
return;
}
effectiveDragged=o.attr("id");
maskOtherDraggable();
$("#log").attr("value", $("#log").attr("value")+"\r\n"+event.target.id);
startX=event.pageX-$("#"+effectiveDragged).offset().left;
startY=event.pageY-$("#"+effectiveDragged).offset().top;
});
o.bind("dragstop", function(event, ui){
if(effectiveDragged==null){
return;
}
restoreOtherDraggable();
$("#log").attr("value", $("#log").attr("value")+"\r\ndragstop:"+currentDropOver);
var containerX=$("#"+currentDropOver).offset().left;
var containerY=$("#"+currentDropOver).offset().top;
$("#x").attr("value", (event.pageX-containerX-startX));
$("#y").attr("value", (event.pageY-containerY-startY));
$("#"+effectiveDragged).css("left", ""+(event.pageX-containerX-startX)+"px");
$("#"+effectiveDragged).css("top", ""+(event.pageY-containerY-startY)+"px");
effectiveDragged=null;
});
}
function registerDroppable(o){
o.droppable({greedy: true});
$("#log").attr("value", $("#log").attr("value")+"\r\ndroppable:"+o.attr("id"));
o.bind("dropover", function(event, ui){
if(effectiveDragged==null){
return;
}
currentDropOver=event.target.id;
//$("#log").attr("value", $("#log").attr("value")+"\r\ndropover:"+event.target.id);
});
}
$(function(){
registerDraggable($("#draggable3"));
registerDraggable($("#draggable5"));
registerDroppable($("#droppable2"));
registerDroppable($("#draggable3"));
});
if(jQuery.browser.msie){
//window.onerror=function(){return true;}
}
</script>
</head>
<body>
<div id="draggable3" style="position:absolute; width:800px; height:600px; border-width: 1px; border-style:solid; z-index: 1000; background-color: transparent">
<div id="draggable4" style="position:absolute; width:800px; height:600px; border-width: 1px; border-style:solid; z-index: -1; background-color: yellow">
<div id="droppable2" style="position:absolute; left: 100px; top: 100px; width: 500px; height:400px; border-width:1px; border-style:solid; z-index: 1000; background-color: transparent">
<div id="_droppable2" style="position:absolute; width: 500px; height:400px; border-width:1px; border-style:solid; z-index: -1; background-color: blue">
</div>
</div>
<div id="draggable5" style="position:absolute; width:30px; height:30px; border-width: 1px; border-style:solid; z-index: 1000; background-color: transparent">
<div id="draggable6" style="position:absolute; width:30px; height:30px; border-width: 1px; border-style:solid; z-index: -1; background-color: red">
</div>
</div>
</div>
</div>
<textarea style="position:absolute; left: 810px; top: 0px; width: 300px; height: 500px" id="log">
</textarea>
<div style="position:absolute; left: 0px; top: 650px">
<input type="text" id="x"></input><input type="text" id="y"></input>
</div>
</body>
</html>
thanks!