当我使用document.querySelectorAll调用它时,JS按钮不会执行任何操作

时间:2017-04-13 17:12:59

标签: javascript selectors-api

我试图阻止我意外删除“你确定吗?”的用户介于两者之间我单击删除按钮,它实际上转到执行删除过程的页面。

我的脚本是在PHP中,我想在JS中添加“你确定”的步骤。

我已经设置了一个按钮:

<a href='/perfil/borrarUsuario.php?usuario=$userID' data-confirm='GASP! Esta seguro de querer hacer esto?' class='confirmarBorrar'><button type='button' class='btn btn-danger btn-sm'>BORRAR USUARIO</button></a>

我有一个js文件,用于放置我添加到网站的JS的所有部分。在我可以调用的所有其他JS库文件(如jQuery)之后,它在每个页面的最底部调用。

我已将此添加到文件中:

var deleteLinks = document.querySelectorAll('.confirmarBorrar');

for (var i = 0; i < deleteLinks.length; i++) {
  deleteLinks[i].addEventListener('click', function(event) {
    event.preventDefault();

    var choice = confirm(this.getAttribute('data-confirm'));

    if (choice) {
      window.location.href = this.getAttribute('href');
    }
  });
}

我在codepen添加了一个演示,它确实在那里工作,但在我的网站上它完全避免了JS调用,直接进入删除脚本。

控制台没有说什么,它是空白的,我已经检查过在html页面末尾正确调用了JS文件。

可能出现什么问题?

UPDATE:

我已经检查过JS被调用了,它被称为ok。它位于<body>标记的最后。

我确实让它工作的唯一方法就是当我在按钮之后的<script>标签之间添加脚本,插入到php文件中时(我知道,那不行)。

我在想的是,我的.js文件中有一些内容阻止了特定的脚本工作。

该文件是+500行代码,我在那里做的是添加几个js函数。但我使用"use strict";作为第一行代码。我评论过那条线,它仍然不起作用。

唯一的解决方法是在按钮之后插入代码。

0 个答案:

没有答案