javascript的onClick事件无法在移动设备中运行

时间:2017-07-31 06:04:56

标签: javascript jquery google-chrome jsp

在我的JSP页面中,我使用onkeypress="return event.charCode >= 48 && event.charCode <= 57 "仅允许数字。它与网站浏览器一起运行良好。好吧,它在移动设备浏览器(谷歌浏览器)中不受支持。我已经启用了javascript来执行。我试过了this answer,但没有任何反应。我有另一个问题,它将计算value in input tag,如果该值大于4999,它将显示另一个输入标记,它也不在移动设备中。我该如何解决这个问题?

这是代码,

输入值的第一个按钮,仅接受数字值

<input type="text" name="amount1" id="upload" onkeypress="return event.charCode >= 48 && event.charCode <= 57 && showFile()" required />

隐藏按钮,当值高于4999时显示

<div id='openfile' style='display:none'><input type="file" class="form-control" name="panImg1" placeholder="Upload Your pancard image"  /></div>

脚本文件

<script type="text/javascript">
        function showFile()
        {
            var choice = document.getElementById('upload').value;
            if (choice > 4999)
            {
                document.getElementById('openfile').style.display = 'block';
            } else
            {
                document.getElementById('openfile').style.display = 'none';
            }
        }
    </script>

2 个答案:

答案 0 :(得分:1)

关键时刻活动在Google Chrome移动版中存在问题,一般情况下可以在移动设备上播放..这应该提供修复

onkeyup="mobilePress(e)"
function mobilePress(e) {
    e.target.value = e.target.value.replace(/[^\d]/g, '');
    return false;
}

或者,您可以在移动设备上收听“textInput”事件,而不是处理RegExp。至于问题,你的帖子可能会更多地发布你的代码吗?

答案 1 :(得分:0)

我认为javascript可能无法在某些手机的谷歌浏览器浏览器的输入选项卡的onKeypress上运行,如果出现此问题,请使用jquery以获得更好的性能, 这段代码帮我$(document).ready(function () { $("#upload").on('input', function () { if (v > 40000) {
var v = "var v = "<div id='appDiv' class='col-md-4 inputGroupContainer'><input required='' type='text' name='panImg1' /></div>"; $('#newDiv').append(v); } }); });

并在页面中添加了Div <div id="newDiv"></div>。在这种情况下,使用jquery可以获得更好的结果。谢谢你的帮助。