拖放在IE上工作正常但在Chrome / Firefox中没有

时间:2014-02-12 09:25:03

标签: jquery asp.net internet-explorer google-chrome firefox

我正在使用Visual Studio 2013在asp.net C#中开展一个项目。 我在后面的代码中生成了一些div,并在Page_PreRender()中影响了它们的css类。

C#背后的代码:

HtmlGenericControl divRessource = new HtmlGenericControl("div");
divRessource.Attributes.Add("id", "div" + i.ToString());
divRessource.Attributes.Add("class", "dragRessources");

这些div需要在代码后面生成的表中可拖动和放置。 所以,我使用Jquery 1.6.4和Jquery-ui 1.10.3来实现这个目标。

这是我的JS代码:

$(function () {
 $_dropEnd = null;

 $(".dragRessources").draggable({
   helper: "clone",
   revert: 'invalid',
   appendTo: "body",

   stop: function (event, ui) {
     $(this).appendTo($_dropEnd);

     $_dropEnd = null;
   }
  });

  $(".dropRessources").droppable({
    accept: ".dragRessources",
    tolerance: "touch",
    drop: function (event, ui) {
    $_dropEnd = this;  
   }
  });
});

CSS:

.dragRessources{
    cursor: move;
    color:Black;
    pointer-events: none;
    background-color:transparent;
    width:auto;
}

HTML(div发生在divTabRessources):

<div id="divRessources" class="divRessources" runat="server" style="display:none;" >
   <div id="divTabRessources" class="divTabRessources dropRessources" style="display:block;" runat="server"></div>
</div>

我的问题是IE 10及以下版本的拖放工作正常,但我无法在Chrome和Firefox上拖动div。实际上鼠标光标在firefox和chrome中都没有变化。

任何人都知道问题出在哪里?我很抱歉,如果这是一个简单的问题,但我现在已经在这个项目中了一段时间,我可能会错过一些明显的东西......

1 个答案:

答案 0 :(得分:1)

如果我删除

,则适用于我(IE,FF,Chrome)
pointer-events: none;

css声明。 启用此语句后,它甚至不会在IE中运行。 见fiddle

由于CSS tricks 指针事件

  

阻止指定HTML元素上的所有click,state和cursor选项