javascript - 从 getElementsByClassName() 函数数组中获取 'this' 元素

标签 javascript jquery hammer.js

我有这个代码:

var elements = document.getElementsByClassName('snap_img');

[].slice.call(elements).forEach(function(element) {
    var hammertime = new Hammer(element);
    hammertime.on('doubletap', function(event) {
        img_src = this.getAttribute('src');
        alert(img_src);
    });
}); 

我在顶部有一个数组,其中包含类名为“snap_img”的所有元素。我需要仅获取双击元素本身(this)的“src”属性值。我使用变量“img_src”,其值为“this.getAttribute('src')”,但没有运气。它不会发出任何警报,警报框现在不会出现。

有人知道该怎么做吗?

最佳答案

使用element而不是this

[].slice.call(elements).forEach(function(element) {
    var hammertime = new Hammer(element),
    img_src = element.getAttribute('src'); // now it works
    hammertime.on('doubletap', function(event) {
        alert(img_src);
    });
}); 

关于javascript - 从 getElementsByClassName() 函数数组中获取 'this' 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26316729/

相关文章:

javascript - 跟踪用户事件,同时考虑用户在新选项卡中打开的时间

javascript - 弹出灯箱时,Internet Explorer 触发 'on(beforeunload)'

javascript - jQuery Collapser 隐藏或显示 DIV 内的内容

javascript - 带有普通 javascript 的 Hammer.js

javascript - 使用hammer.js 基本触摸手势不起作用

javascript - JavaScript 轮播的多个实例

javascript - 数组变量和函数的动态名称

javascript - 如何使用 jQuery 在父元素上设置事件

php - ajax - 使用 onload 和 onunload 启动和结束 session

javascript - 如何使用 jQuery select/.change() 显示隐藏的 div