Javascript onclick在移动设备上不起作用

时间:2019-02-22 15:05:38

标签: javascript button onclick

首先,我对Java语言了解不多,所以如果这是一个新手问题,请原谅。

我正试图让此按钮触发:

<button onclick="myFunction();">Toggle</button>

我的代码:

function myFunction() {
  var x = document.getElementById("toggle");
  if (x.style.display === "none") {
    x.style.display = "block";
  } else {
    x.style.display = "none";
  }
}
<button onclick="myFunction();">Toggle</button>
<p id="toggle">x<p>

在台式机和台式机响应式计算机上都可以正常工作,但是我无法在任何实际的移动设备上使用它。

我认为,通过谷歌搜索,答案可能是“添加触摸事件”,但我不确定。谢谢您的帮助!

2 个答案:

答案 0 :(得分:1)

您必须将"vclick"与Jquery一起使用(例如)

示例:

$( document ).on( "vclick", "p", function() {
  $( this ).append( "<span style='color:#108040;'> vclick fired... </span>" );
  });

查看文档:{​​{3}}

使用纯JS时,您可以尝试使用onmousedown。它运作完美。我刚刚在移动设备上进行了测试。看看:

function myFunction() {
var x = document.getElementById("toggle");
if (x.style.display === "none") {
x.style.display = "block";
} else {
x.style.display = "none";
}
}
<div id="toggle">sdfsdfsd</div>
<button onmousedown="myFunction();">Toggle</button>

答案 1 :(得分:-1)

可以尝试这种方法吗?

const btn = document.getElementById('btn');

btn.addEventListener('click', () => {
  alert('Click');
});

btn.addEventListener('tap', () => {
  alert('Mobile click / Tap');
});
<button id="btn">Button</button>

希望这对您有所帮助,祝您愉快!