Javascript 事件在firefox中不起作用

Javascript 事件在firefox中不起作用,javascript,jquery,Javascript,Jquery,错误是未定义事件。您应该使用e.pageX,e.pageY而不是event.pageX,event.pageY,因为在回调中您使用了e作为参数。您正在调用传递给移动函数e的变量,稍后将其引用为事件。您只需在抛出错误的行中将事件替换为e。将事件更改为EH您如何编写这么多代码而不知道如何调试此错误我相信copy pase是一个良好的开端; // Private makeRowsDraggable: function() { var dragInitiated = false;

错误是未定义事件。

您应该使用e.pageX,e.pageY而不是event.pageX,event.pageY,因为在回调中您使用了e作为参数。

您正在调用传递给移动函数e的变量,稍后将其引用为事件。您只需在抛出错误的行中将事件替换为e。

将事件更改为EH您如何编写这么多代码而不知道如何调试此错误我相信copy pase是一个良好的开端;
// Private
    makeRowsDraggable: function() {
        var dragInitiated = false;
        var startPageX, startPageY;
        var moving;

        var me = this;

        $(this.el).interactable({
            start: function(e) {
                if (e.which > 1 || me.disabled)
                    return true;

                moving = $(e.target).closest(".draggable")[0];
                if (!moving)
                    return true;
                moving = $(moving).closest("tr")[0];

                dragInitiated = false;
                startPageX = e.pageX;
                startPageY = e.pageY;

                return false;
            },

            move: function(e) {
                // If value updates during a drag the row might disappear
                if (!moving.parentNode)
                    return;

                var DRAG_TOLERANCE = 4;

// this line shows its event is not defined
                if (!dragInitiated && (Math.abs(event.pageX - startPageX) > DRAG_TOLERANCE || Math.abs(event.pageY - startPageY) > DRAG_TOLERANCE))
                    dragInitiated = true;

                if (dragInitiated) {
                    var $rows = $(me.el).find(".glut-list-item");
                    var y = e.pageY;
                    for (var i = 0; i < $rows.length; i++) {
                        var top = $($rows[i]).offset().top;
                        var height = $rows[i].offsetHeight;
                        if (y < top + height / 2)
                            break;
                    }

                    var insertBefore = $rows[i];
                    if (insertBefore) {
                        if (insertBefore == moving || insertBefore.previousSibling == moving)
                            return false;
                    } else if ($rows[i - 1] == moving)
                        return false;

                    moving.parentNode.insertBefore(moving, insertBefore);

                    me.refreshValue({ edit: true, dom: false });

                    return false;
                }
            },

            stop: function() {
                if (dragInitiated)
                    return false;
            }
        });
    },