我有一个表单,用户可以将文件上传到数据库。无法在移动设备上制作 .on("click")
事件。它在电脑/笔记本电脑上工作正常,文件上传成功。在手机上,如果我点击按钮,没有任何反应。
代码
$(document).on("click", "#submit_upload", function(){
var data = new FormData(document.querySelector("#fileInfo"));
// If I comment below variables,
// it works fine on both mobile and computers.
jab = data.get('jab'),
kat_doc = data.get('jenis_fail'),
doc_nama = data.get('nama');
doc = data.get('file').size;
$.ajax({
url: url,
type: "POST",
data: data,
contentType: false,
cache: false,
processData:false,
success: function(data)
{
$("#cont").html(data);
if (!doc_nama) {
$("#nama-doc").addClass("list-group-item list-group-item-warning");
}
if (jab == 0) {
$("#jab").addClass("list-group-item list-group-item-warning");
}
if (kat_doc == 0) {
$("#kat-doc").addClass("list-group-item list-group-item-warning");
}
if (!doc) {
$("#doc").addClass("list-group-item list-group-item-warning");
}
$('#myModal').modal({backdrop: "static"});
$('#myModal').on('shown.bs.modal', function () {
$('#myInput').focus();
});
}
});
});
注意:如果我注释变量jab/kat_doc/doc_nama/doc
,它会触发点击事件。
我希望它如何处理变量?
最佳答案
再考虑一下移动设备...
手机或平板电脑上没有鼠标。
click
绝对是鼠标事件。
尝试将这些事件添加到您的处理程序:
( Touch event reference )
$(document).on("click tap touchstart", "#submit_upload", function(){
这应该可以解决问题。
关于javascript - jQuery -.on ("click") 无法在移动设备上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43220776/