어떤 div 안에 iframe이 있고, 그 div의 id가 'container'라고 가정.
$('#container iframe').load(function(){
var iframeBody = $(this).contents().find('body');
// 드래그 방지 (for IE)
if (navigator.userAgent.indexOf('MSIE') > 0) {
iframeBody.bind('contextmenu', function(){ return false; });
iframeBody.bind('selectstart', function(){ return false; });
iframeBody.bind('dragstart', function(){ return false; });
}
// 해당 iframe을 마우스 드래그로 잡고 움직이기
iframeBody.mousedown(function(e){
var orgX = e.clientX;
var orgY = e.clientY;
iframeBody.mousemove(function(e){
$('#container').css('left', parseInt($('#container').css('left') + e.clientX - orgX);
$('#container').css('top', parseInt($('#container').css('top') + e.clientY - orgY);
});
iframeBody.mouseup(function(e){
iframeBody.unbind('mousemove');
});
iframeBody.mouseout(function(e){
iframeBody.unbind('mousemove');
});
});
});
var iframeBody = $(this).contents().find('body');
// 드래그 방지 (for IE)
if (navigator.userAgent.indexOf('MSIE') > 0) {
iframeBody.bind('contextmenu', function(){ return false; });
iframeBody.bind('selectstart', function(){ return false; });
iframeBody.bind('dragstart', function(){ return false; });
}
// 해당 iframe을 마우스 드래그로 잡고 움직이기
iframeBody.mousedown(function(e){
var orgX = e.clientX;
var orgY = e.clientY;
iframeBody.mousemove(function(e){
$('#container').css('left', parseInt($('#container').css('left') + e.clientX - orgX);
$('#container').css('top', parseInt($('#container').css('top') + e.clientY - orgY);
});
iframeBody.mouseup(function(e){
iframeBody.unbind('mousemove');
});
iframeBody.mouseout(function(e){
iframeBody.unbind('mousemove');
});
});
});
'JavaScript' 카테고리의 다른 글
[JavaScript] HeatMapCalendar (0) | 2012.06.08 |
---|---|
[JavaScript] 한줄짜리 thousand separate (number_format) (0) | 2012.05.04 |
[JavaScript] HTML Element의 위치, 크기 절대값 (0) | 2011.01.26 |
[JavaScript] PHP의 pack() 함수 흉내내기 (0) | 2010.12.03 |
[JavaScript] HTML페이지에서 드래그로 문자열 선택 금지 (disable text selection include firefox) (0) | 2010.11.19 |