javascript - 为什么我的 event.target 数据在 chrome 中不起作用?

标签 javascript jquery google-chrome

我有一个功能可以删除表单中的一个字段,该字段在 Firefox 中有效但在 Chrome 中无效。

function activeDelete(del) {
    $('[data-delete="' + del + '"]').click(function(event) {
        deleteField(event);
    });
}

function deleteField(event) {
    if ((members - 1) >= 3) {
        members -= 1;
        var i = $(event.target).data('delete');
        console.log(i)
        var currentdiv = $('[data-div="' + i + '"]');
        currentdiv.remove();
        $("#rollWheel").val("Roll the wheel ! (" + members + " members)");
    } else {
        $('.errors').remove();
        $('#firstCard').append('<div class="errors animated fadeOut">3 participants minimum.</div>');
    }


  }

activeDelete(1);

我记录了我的 i 变量,它是 undefined(在 Chrome 中)。我在本地和我的网站上进行了测试。

我在这里缺少什么?

最佳答案

你应该在这里使用currentTarget而不是target,但我建议你使用$(this)

最小变化:

  $(event.currentTarget).data('delete');

建议的更改:

function activeDelete(del) {
  $('[data-delete="' + del + '"]').click(function(event) {
    deleteField($(this)); // see here the parameter
    event.preventDefault();
  });
}

function deleteField(obj) {
  if ((members - 1) >= 3) {
    members -= 1;
    var i = obj.data('delete'); // see here the getter
    console.log(i)
    var currentdiv = $('[data-div="' + i + '"]');
    currentdiv.remove();
    $("#rollWheel").val("Roll the wheel ! (" + members + " members)");
  } else {
    $('.errors').remove();
    $('#firstCard').append('<div class="errors animated fadeOut">3 participants minimum.</div>');
  }


}

activeDelete(1);

关于javascript - 为什么我的 event.target 数据在 chrome 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35404862/

相关文章:

html - 无论缩放多少,只有 Firefox 在中间显示 Logo 。 IE 和 Chrome 不读取顶部和底部边距。任何人都知道为什么?

javascript - 复选框如果选中则触发一个功能,如果未选中则触发不同的功能

javascript - ASP.NET MVC Razor 渲染脚本 javascript

javascript - 在 Graphiti 中,如何将编辑器放在附加到图形的标签上

javascript mouseover/out 结合点击行为

javascript - Jquery:解除类上点击事件的绑定(bind)

javascript - Chrome 打包应用程序 - 从 background.js 传递到另一个脚本页面的消息

android - Android 上的谷歌浏览器(仅限 Android)不允许使用类型号和步长为 ="any"的 Decimal

javascript - 不透明度使 div 打火机不透明

javascript - 如何获取数据表列的名称?