为什么ondragover不能在jQuery插件中工作?

时间:2016-07-26 10:06:15

标签: javascript jquery plugins

我遵循了使用javascript制作文件上传器的教程,我让它工作,所以我认为它会更好作为一个jQuery插件,以便我可以在我的页面上的不同元素上使用它。所以我开始将代码移植到我的插件中,并遇到问题。

通常你可以使用jQuery和javascript,但由于某些原因ondragover在我的插件中不起作用。

;(function($) {
    "use strict";
    $.fn.asiLoader = function() {
        var base=$(this);

        base.ondragover=function(){
                alert('test');
                return false;
        }
        return base;
    }
})(jQuery);

我知道我可以使用

base.on("dragover", function(e) {
   alert('test');
     e.preventDefault(); 
     e.stopPropagation();
});

相反,这是有效的,并且是jQuery的等价物,但我想知道为什么javascript不起作用?

2 个答案:

答案 0 :(得分:1)

base=$(this)是一个jQuery对象,jQuery对象没有.dragover属性,但DOM对象有。

答案 1 :(得分:0)

我认为你应该使用

base.dragover(function(){})