Javascript 在internet explorer中拖动不起作用

Javascript 在internet explorer中拖动不起作用,javascript,jquery,html,css,internet-explorer,Javascript,Jquery,Html,Css,Internet Explorer,我正在尝试在我的代码中调整大小并拖动一个div。下面是代码,但我在ie中根本无法拖动div,但在chrome中我也可以这样做。但是调整大小在两种情况下都有效。请检查并指导我如何在ie中使拖动也有效 interact('.divname') .resizable(true) .on('resizemove', function (event) { var target = event.target; // add the change in coords to the p

我正在尝试在我的代码中调整大小并拖动一个div。下面是代码,但我在ie中根本无法拖动div,但在chrome中我也可以这样做。但是调整大小在两种情况下都有效。请检查并指导我如何在ie中使拖动也有效

interact('.divname')
  .resizable(true)
  .on('resizemove', function (event) {
    var target = event.target;

    // add the change in coords to the previous width of the target element
    var
      newWidth  = parseFloat(target.style.width ) + event.dx,
      newHeight = parseFloat(target.style.height) + event.dy;

    // update the element's style
    target.style.width  = newWidth + 'px';
    target.style.height = newHeight + 'px';

    //target.textContent = newWidth + '×' + newHeight;
  });  


interact('.divname')
  .draggable({
    // enable inertial throwing
    inertia: true,
    // keep the element within the area of it's parent
    restrict: {
      restriction: "parent",
      endOnly: true,
      elementRect: { top: 0, left: 0, bottom: 1, right: 1 }
    },

    // call this function on every dragmove event
    onmove: function (event) {
      var target = event.target,
          // keep the dragged position in the data-x/data-y attributes
          x = (parseFloat(target.getAttribute('data-x')) || 0) + event.dx,
          y = (parseFloat(target.getAttribute('data-y')) || 0) + event.dy;

      // translate the element
      target.style.webkitTransform =
      target.style.transform =
        'translate(' + x + 'px, ' + y + 'px)';

      // update the posiion attributes
      target.setAttribute('data-x', x);
      target.setAttribute('data-y', y);
    },
    // call this function on every dragend event
    onend: function (event) {
      var textEl = event.target.querySelector('p');

      textEl && (textEl.textContent =
        'moved a distance of '
        + (Math.sqrt(event.dx * event.dx +
                     event.dy * event.dy)|0) + 'px');
    }
  });


<div class="divname">
</div>
交互('.divname')
.可调整大小(真)
.on('resizemove',函数(事件){
var target=event.target;
//将坐标中的更改添加到目标元素的上一个宽度
变量
newWidth=parseFloat(target.style.width)+event.dx,
newHeight=parseFloat(target.style.height)+event.dy;
//更新元素的样式
target.style.width=newWidth+'px';
target.style.height=newHeight+'px';
//target.textContent=newWidth+'×'+newHeight;
});  
交互('.divname')
.拖拉({
//启用惯性投掷
惯性:没错,
//将元素保持在其父元素的区域内
限制:{
限制:“家长”,
是的,
elementRect:{top:0,left:0,bottom:1,right:1}
},
//在每次dragmove事件中调用此函数
onmove:函数(事件){
var target=event.target,
//在data-x/data-y属性中保持拖动位置
x=(parseFloat(target.getAttribute('data-x'))| | 0)+event.dx,
y=(parseFloat(target.getAttribute('data-y'))| | 0)+event.dy;
//翻译元素
target.style.webkitTransform=
target.style.transform=
'翻译('+x+'px',+y+'px)';
//更新posiion属性
target.setAttribute('data-x',x);
target.setAttribute('data-y',y);
},
//在每个dragend事件上调用此函数
ONED:功能(事件){
var textEl=event.target.querySelector('p');
textEl&(textEl.textContent)=
“移动了一段距离”
+(Math.sqrt(event.dx*event.dx+
event.dy*event.dy)| 0)+“px”);
}
});

IE8不支持
转换
,因此您的
onmove
处理程序将无法在那里工作。此外,IE8不支持
textContent
,因此您的
onend
处理程序也无法正常工作


对于IE9,您可以进行转换,但需要使用供应商前缀
ms
,类似于
webkit

,您应该修改您的问题并包括您正在使用的interact.js。你在测试什么版本的IE?我在ie9和ie8i中测试它。我删除了ONED中的点,在onmove中,我将transform修改为mstransform,但在ie9中仍然不起作用。你做过“mstransform”(大写T)吗