Jquery拖放不在Firefox中工作,在chrome和safari中工作正常
Jquery拖放不在Firefox和IE中工作,但在chrome和safari中工作正常。
这是我的代码:
$(".drag").draggable({ helper: "clone", }); $(".drop").droppable({ drop: function (ev, ui) { if ($(ev.toElement).hasClass("drop") == true) { var widgetId = $(ui.draggable).attr("id"); $(ev.toElement).attr("id", "dash_" + widgetId); $(ev.toElement).html($(ui.draggable).html()); } } });
代码已上传至http://www.skmcap63.hostoi.com/box-dashboard/
我需要从侧边栏拖动项目并将其放入框中。 请帮忙。 提前致谢。
试试这个它对你有用
$(".drop").droppable({ drop: function (ev, ui) { if ($(ev.target).hasClass("drop") == true) { var widgetId = $(ui.draggable).attr("id"); $(ev.target).attr("id", "dash_" + widgetId); $(ev.target).html($(ui.draggable).html()); } } });
没有event.toElement在firefox中,它是event.relatedTarget
。
relatedTarget属性用于查找事件中涉及的其他元素(如果有)。 像鼠标hover这样的事件是围绕某个目标定向的,但也涉及辅助目标,例如当鼠标hover事件为主目标触发时退出的目标。
由于不同的浏览器具有不同的属性,因此在使用之前应检查哪个浏览器存在:
var el = ev.toElement? ev.toElement: ev.relatedTarget;
在IE8和Firefox中查看event.toElement? 了解更多信息。
这段代码将解决您的问题,请注意我没有在IE中测试这个,因为我是一个Unixmen
。
$(function() { $(".drag").draggable({ helper: "clone", }); $(".drop").droppable({ drop: function(ev, ui) { var el = ev.toElement? ev.toElement: ev.target; if ($(el).hasClass("drop") == true) { var widgetId = $(ui.draggable).attr("id"); $(el).attr("id", "dash_" + widgetId); $(el).html($(ui.draggable).html()); } } }); });
- jQuery UI,Draggable,Droppable,Auto Scroll
- 父帧和子iframe之间的拖放元素
- 在jQuery中,如何在ajax调用失败时恢复可拖动?
- 如何使用jquery或ajax将图像(仅限图像URL)拖动到可放置区域以上传到服务器?
- 删除拖动的元素并使用jQuery重置光标
- Fullcalendar:draggable对象拒绝fullcalendar为droppable,即使fullcalendar接受drop
- 当达到可放置限制时,jQuery UI draggable / sortable / droppable禁用drop
- 克隆对象不可删除
- 行数据消失在Datatables上?