所以我有一个在按钮上有 2 个按钮的表单。
<div class="col-xs-12">
<div class="submit-button-mobile">Submit</div>
</div>
<div class="col-xs-12">
<a href="/how_to_book.php">
<div class="how-to-book-button-mobile">
How to book?
</div>
</a>
</div>
最初我在 submit-button-mobile
上有 onclick="send_message();"
(它适用于桌面但不适用于移动设备。标签也是在手机上不可点击。
我在这里搜索并找到了可以在移动设备上运行的答案
$('.submit-button-mobile').on('click touchstart', send_message);
$('.how-to-book-button-mobile').on('click touchstart', function() {
window.location.href = "/how_to_book.php";
});
仍然有同样的问题,在移动设备上无法点击(在带有移动 View 的 chrome 开发者工具上试过,在 iphone 和 android 上试过)。
send_message() 位于文件顶部的另一个 .js 文件中。 看起来像这样
function send_message()
{
var a=document.forms["Form"]["name"].value;
var b=document.forms["Form"]["email"].value;
var c=document.forms["Form"]["message"].value;
var d=document.forms["Form"]["surname"].value;
document.getElementById("contact_message").innerHTML = "Sending your message... Please wait.";
loadXMLDoc(a, b, c, d);
}
//pomocna funkcija za validaciju emaila
function validateEmail(email) {
var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
return re.test(email);
}
//funkcija za slanje emaila
function loadXMLDoc(name, mail, message, surname)
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("contact_message").innerHTML=xmlhttp.responseText;
document.getElementById("contact_message2").innerHTML=xmlhttp.responseText;
}
}
// xmlhttp.open("GET","send_enquiry.php",true);
xmlhttp.open("POST","send_enquiry.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("name=" + name + "&email=" + mail + "&message=" + message + "&surname=" + surname);
xmlhttp.send();
}
最佳答案
可能您必须在您定义了 send_message()
定义的同一个文件中编写点击函数,点击定义应该在 document.ready()
中功能。首先检查您是否在点击 div 时收到警报。
$(document).ready(function() {
$('.how-to-book-button-mobile').on('click touchstart', function(e) {
e.preventDefault();
alert("how-to-book-button-mobile");
});
$('.submit-button-mobile').on('click touchstart', function(e) {
e.preventDefault();
alert("submit");
});
});
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<div class="col-xs-12">
<div class="submit-button-mobile">Submit</div>
</div>
<div class="col-xs-12">
<a href="#">
<div class="how-to-book-button-mobile">
How to book?
</div>
</a>
</div>
This answer也可能对您有所帮助。
关于javascript - 按钮点击在移动设备上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36976743/