javascript - $(this) 和范围 - 传递特定元素

标签 javascript jquery

我有各种 .img-drop-zones ,在放置文件时读取,我希望将其显示在放置它的特定放置区域的顶部,但是我该如何做得到它? $(this) 由于作用域而不起作用,我该如何传递它?

 $('.img-drop-zone').on('drop', function(e){

        var files = e.originalEvent.dataTransfer.files;

        $.each(files, function(index, file){

            p.file.read(file, function(content) {
                //how can I get the img-drop zone here?

            });

        }) 


    });

最佳答案

只需在外部作用域中声明一个附加变量,您可以在 $.each 闭包中引用该变量:

var $this = $(this);

$.each(..., function() {
    // use $this here to refer to the img-drop-zone
});

当引用一个不是 jQuery 对象的对象时,更常见的是使用 selfthat

关于javascript - $(this) 和范围 - 传递特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22232021/

相关文章:

javascript - 如何从 Angular 下拉列表中获取值?

javascript - 迷失在节点的海洋中

javascript - anchor 标记在 JavaScript 中不起作用

Javascript XMLHttpRequest "NetworkError"

jQuery 隐藏和显示带有加号和减号图标的切换 div

javascript - 如何使用 jquery 或 css 使 div 悬停并停留在页面底部?

Django - 如何在ajax函数下显示消息

javascript - 是否必须提及加载 jQuery 的协议(protocol)?

javascript - Python 设置值对于 JS 未定义

javascript - 200 个 HTTP 请求在 Angular 5 中触发 "catch"操作