Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在移动模式下单击按钮时,该按钮仅工作一次_Javascript_Jquery_Html_Mobile - Fatal编程技术网

Javascript 在移动模式下单击按钮时,该按钮仅工作一次

Javascript 在移动模式下单击按钮时,该按钮仅工作一次,javascript,jquery,html,mobile,Javascript,Jquery,Html,Mobile,在我的网站上,桌面版的一切都很好,但当我切换到移动版时,一个按钮只工作一次。单击1次后,它不会执行任何操作 如果我按回车键,它可以正常工作,但按下按钮不会再次触发按钮。我特别不希望我的页面重新加载 这个答案包括重新加载页面 $(“#测验”)。在('touchstart click','button',函数(e)上{ e、 预防默认值(); }); Quote游戏! 这句话属于哪位英雄 document.getElementById(“number_correct”).innerHTML

在我的网站上,桌面版的一切都很好,但当我切换到移动版时,一个按钮只工作一次。单击1次后,它不会执行任何操作

如果我按回车键,它可以正常工作,但按下按钮不会再次触发按钮。我特别不希望我的页面重新加载

这个答案包括重新加载页面

$(“#测验”)。在('touchstart click','button',函数(e)上{
e、 预防默认值();
});
Quote游戏!

这句话属于哪位英雄

document.getElementById(“number_correct”).innerHTML=“您的分数:”+正确;

检查
在Chrome 68 Android版下尝试了你的代码,每次按钮都能正常工作。但是,有一些提示:

  • 使用
    addEventListener
    (或
    jQuery.on()
    )而不是在HTML中使用内联javascript

  • 如果您希望在运行代码后不提交表单,可以使用
    returnfalse
    而不是
    e.preventDefault()

  • 我不明白将事件处理程序附加到表单只是为了将其过滤到按钮,并将另一个内联javascript函数添加到按钮本身。如果要同时调用两个不同的函数,请使用一个函数同时调用这两个函数


尝试将按钮类型设置为按钮(而不是提交) 这样,单击按钮后,浏览器不会禁用该按钮

<button type="button" id ="button" value="Check" class="btn btn-primary " >Check</button>
检查

此外,不再需要e.preventDefault,如果您不想

什么是移动模式?@duhaime在移动设备上打开浏览器,例如使用phonegap,如果不在线,您还可以使用google chrome。在查看页面时,有一个切换设备,试着像在移动设备上一样查看它。啊,听起来你是说设备视口的宽度很小。说“移动模式”很少见,可能是因为手机有各种各样的屏幕大小和宽度……而且,您的代码示例在控制台中出现错误-如果您解决了这些问题,其他人将更容易帮助您…我已经在chrome移动模式和两个不同的android设备上运行了代码按钮不可单击它仅在桌面模式下工作正常,您确定已将其更改为移动模式吗?我想这和触摸屏有关。我希望它只是提交而不是重新加载页面,你还需要检查功能的代码吗?我没有添加它,它可能会有帮助?我不需要更改它,我用智能手机尝试了它。“按钮”类型的默认类型是提交,提交表单意味着将数据发送到表单操作URL。默认操作是当前URL,这就是它重定向到当前页面的原因。您需要做的就是像@Nils解释的那样,使用javascript处理数据,而不实际提交表单。这不会在我单击按钮时重新加载页面吗?不,type=“button”基本上使按钮无用。此外,如果使用jquery处理单击事件,最好在jquery事件处理程序中调用check(),而不是onclick attribute$(function(){$('#按钮')。单击(function(){check();});这是我使用的jquery,仍然没有任何更改,只需单击一下,现在如果我按下enter按钮,如果我突出显示文本框区域,它将刷新页面。