Javascript 事件在firefox中不起作用
错误是未定义事件。您应该使用e.pageX,e.pageY而不是event.pageX,event.pageY,因为在回调中您使用了e作为参数。您正在调用传递给移动函数e的变量,稍后将其引用为事件。您只需在抛出错误的行中将事件替换为e。将事件更改为EH您如何编写这么多代码而不知道如何调试此错误我相信copy pase是一个良好的开端;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;
// 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;
}
});
},