我使用doc为自己创建了一个基本插件,但由于某些原因我无法使其工作。 我的目标是创建一个插件来使任何元素可拖动。 这是我的代码:
var continues = true;
var elementPosition;
(function ( $ ) {
$.fn.dragIt = function() {
this.mousedown(function(i){
elementPosition = this.position();
continues = true;
initialCursorX = i.pageX;
initialCursorY = i.pageY;
$(document).on('mousemove', function(e){
if(continues == true)
{
this.css({
left: elementPosition.left + e.pageX - initialCursorX,
top: elementPosition.top + e.pageY - initialCursorY,
});
}
});
});
this.mouseup(function(){
continues = false;
});
}}( jQuery ));
$('#square').dragIt();
每次我在#square div上触发mousedown事件时都会出错:" this.position不是函数"。 怎么了?
编辑:请注意,如果我在不使用插件的情况下直接执行此操作,则完全有效。