Javascript 手机上的按钮只会触发灯箱弹出窗口

Javascript 手机上的按钮只会触发灯箱弹出窗口,javascript,Javascript,小型设备上的按钮不工作。该按钮应作为灯箱弹出窗口打开外部申请表。我想能够触发一些其他代码作为按钮被点击。为了测试它,我使用了alert()方法,但它只在桌面上工作。另一方面,手机只会触发弹出窗口,而不会触发警报() 该网站是在Wordpress上开发的 以下是脚本: document.addEventListener( 'mousedown', function (event) { if (event.target.innerHTML == 'Apply

小型设备上的按钮不工作。该按钮应作为灯箱弹出窗口打开外部申请表。我想能够触发一些其他代码作为按钮被点击。为了测试它,我使用了alert()方法,但它只在桌面上工作。另一方面,手机只会触发弹出窗口,而不会触发警报()

该网站是在Wordpress上开发的

以下是脚本:

 document.addEventListener(
      'mousedown',
      function (event) {
        if (event.target.innerHTML == 'Apply now' ) {
          alert('Button Clicked')
        }
      }
    );
这是按钮在DOM上的显示方式:

<a class="typeform-share common-btn" target="_blank" data-mode="2" href="form_link"><span>Apply now</span></a>

您正在文档上注册单击事件侦听器。您需要在按钮本身上注册它。您可以使用“单击”事件,而不是鼠标向下。另外,由于按钮中有一个
标记,
innerHTML
对您不起作用。您应该使用
innerText

document.querySelectorAll('a.typeform-share').forEach(btn=>{
如果(btn.innerText==“立即应用”){
btn.addEventListener('click',函数(事件){
警报(“点击按钮”);
});
}
});

我已经找到了问题的答案。以防有人面临同样的问题

问题在于触摸设备的交互。他们识别出了
touchstart
,而不仅仅是
单击
,我不知道在这种情况下为什么会发生这种情况。但是使用jQuery并将
单击更改为
触摸启动单击对我来说很有效

$(document).ready(function () {
  $('.typeform-share').on('touchstart click', function () {
    alert('btn clicked');
  });
});

共享一些代码,最好是可复制的示例。如果我们看不到问题所在,我们就无能为力。好吧,我添加了一些代码。但我想使用事件委派,只有将“Apply now”作为innerText的元素才能执行代码。该按钮是由一些插件制作的,我不能简单地向其添加id,除非我使用代码来附加它,这就是我从一开始就想避免的。明白了。我更新了答案,找到了已经提供的类的任何按钮,然后,如果内容是“立即应用”,注册事件。它会为页面上找到的每个按钮执行此操作。感谢您的回复,但它仍然无法在手机上工作。它只调用href!!我会尝试在电话上调试。。。你确定WordPress正在为手机输出相同的内容吗?如果HTML有不同之处,那么它就不会工作。插件可能会影响这一点。我在responsive console工具上比较了这两种设备,但我会与创建主题的开发人员联系。这是可能的。我一得到答复就回信。