我正在使用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中都没有变化。
任何人都知道问题出在哪里?我很抱歉,如果这是一个简单的问题,但我现在已经在这个项目中了一段时间,我可能会错过一些明显的东西......
答案 0 :(得分:1)
如果我删除
,则适用于我(IE,FF,Chrome)pointer-events: none;
css声明。 启用此语句后,它甚至不会在IE中运行。 见fiddle
由于CSS tricks 指针事件:无
阻止指定HTML元素上的所有click,state和cursor选项