Bug Tracker

Opened 15 years ago

Closed 14 years ago

Last modified 11 years ago

#1755 closed bug (invalid)

jQuery UI problem with drag and drop on Safari

Reported by: marklacas Owned by:
Priority: major Milestone: 1.2.2
Component: plugin Version: 1.2.1
Keywords: ui safari Cc:
Blocked by: Blocking:


The code below works when I comment out or remove the activeClass and hoverClass options in droppable. When they are not commented out Safari doesn't do the drag (or drop) and spits out javascript errors in droppable.ext.js


accept: ".activeClass", tolerance: "pointer", activeClass: "activecolor", hoverClass: "droppable-hover", drop: function( ev, ui ) {

$(this).append( $(document.createElement("div") ).text( $(ui.draggable.element).text() ));




helper: "clone"


Attachments (1)

safari_reserved_word_1755.diff (562 bytes) - added by ebartels 15 years ago.
Fix use of reserved word in Safari2

Download all attachments as: .zip

Change History (4)

comment:1 Changed 15 years ago by james_taylor

Seems to be a problem with how plugins are called (different errors happen depending on what plugins you are using), 'arguments' is a reserved word and Safari 2 doesn't let you rebind it as a local in the function (later WebKit builds don't seem to have a problem). The following fixes it for me:

Index: ui.mouse.js
--- ui.mouse.js (revision 3751)
+++ ui.mouse.js (working copy)
@@ -10,13 +10,13 @@
                                var a = $.ui[w].prototype; if(!a.plugins[c]) a.plugins[c] = [];
-                       call: function(instance, name, arguments) {
+                       call: function(instance, name, args) {
                                var c = instance.plugins[name]; if(!c) return;
                                var o = instance.interaction ? instance.interaction.options : instance.options;
                                var e = instance.interaction ? instance.interaction.element : instance.element;
                                for (var i = 0; i < c.length; i++) {
-                                       if (o[c[i][0]]) c[i][1].apply(e, arguments);
+                                       if (o[c[i][0]]) c[i][1].apply(e, args);

comment:2 Changed 15 years ago by eric

I'll confirm. This fix works for me.

Changed 15 years ago by ebartels

Fix use of reserved word in Safari2

comment:3 Changed 14 years ago by dmethvin

Resolution: invalid
Status: newclosed

If this bug is still present, please file a ticket on the UI tracker:


Note: See TracTickets for help on using tickets.