jQuery - 插件生成错误" this.x不是函数"

时间:2016-12-20 10:29:56

标签: function plugins

我使用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不是函数"。 怎么了?

编辑:请注意,如果我在不使用插件的情况下直接执行此操作,则完全有效。

0 个答案:

没有答案