2012-02-10 3 views
2

나는이 작은 조각의 코드를 가지고 있으며 한 점에서 다른 점으로 div를 드래그하여 시뮬레이트하고 싶다. jquery.simulate.js 스크립트를 사용했지만 콘솔에서 오류가 발생한다. ..jquery에서 마우스 드래그를 시뮬레이트

<html> 
<head> 

<style> 
.box { 
    background-color:#b0c4de; 
} 

</style> 

<script type="text/javascript" src="jquery-1.7.1.js"></script> 
<script type="text/javascript" src="jquery-ui-1.8.17.custom.min.js"></script> 
<script type="text/javascript" src="jquery.simulate.js"></script> 

<script> 

$(document).ready(function() { 
    var myDiv = $("#myDiv"); 

    myDiv.draggable(); 

    // This will set enough properties to simulate valid mouse options. 
    $.ui.mouse.options = $.ui.mouse.defaults; 

    var divOffset = myDiv.offset(); 

    // This will simulate clicking down on the div - works mostly. 
    $.ui.mouse._mouseDown({ 
      target: myDiv, 
      pageX: divOffset.left, 
      pageY: divOffset.top, 
      which: 1, 

      preventDefault: function() { } 
    }); 
}); 

</script> 


</head> 

<body> 
<div id="myDiv">hello</div> 

</body> 

</html> 

답변

1

당신이 .animate()를 사용 thougt 있나요 "$ .ui.mouse._mouseDown는 함수가 아니다"?

예 :

$("#block").animate({ 
    marginRight: "0.4in", 
    opacity: 0.4, 
    marginLeft: "0.6in", 
    fontSize: "3em", 
    borderWidth: "10px" 
    }, 1500); 

그래서 당신은 당신의 사업부의 재배치를 애니메이션 수 있습니다! 당신이 정말로 드래그 (& 드롭), 확장 플러그인을 시뮬레이트 jQuery를 사용을 시뮬레이션하려면

9

:
http://j-ulrich.github.com/jquery-simulate-ext

는 그런 다음에 사업부의 50 픽셀을 끌어

$('#myDiv').simulate("drag-n-drop", {dx: 50}); 

을 사용할 수 있습니다 권리.

면책 조항 : 저는 플러그인 작성자입니다.

+1

그레이트 플러그인은 정말 유용합니다! 감사합니다 :-) – lorcan

+0

그리고 어떻게 특정 요소로 드래그합니까? x/y가 아님 – Nakilon

+2

@Nakilon [플러그인의 문서] (https://github.com/j-ulrich/jquery-simulate-ext/blob/master/doc/drag-n-drop.md)를 확인하십시오. 시뮬레이트 ("drag-n-drop", {dragTarget : otherDiv});'$ ('# myDiv' – Ignitor

관련 문제