获取onClick以在iPad Safari上工作

时间:2014-02-18 22:41:49

标签: ipad

我刚刚继承了一个网站,并且在网站上工作了大约15年,并且不熟悉触摸屏的编程。

我有以下onClick提交代码适用于我测试过的所有浏览器(包括PC上的Safari桌面)以及在iPad上使用Google搜索,但在访问网站时尝试按“提交”按钮通过iPad Safari它不会开火。我正在寻找JQuery解决方案,但我还没有达到JQuery的速度。任何帮助表示赞赏。

    函数submitentry()     {     password = document.password1.password2.value.toLowerCase()     username = document.password1.username2.value.toLowerCase()     密码= 1     usercode = 1     for(i = 0; i
<center>
<form action="" name="password1">
<strong>User * * : </strong>
<input type="text" name="username2" size="15">
<br>
<strong>Password: </strong>
<input type="password" name="password2" size="15">
<br><br>
<input type="button" value="Submit"onClick="submitentry(); return true">
</form>

3 个答案:

答案 0 :(得分:1)

事实证明,在jQuery中分配了一个click处理程序的任何非anchor元素都必须具有onClick属性(可以像下面一样为空):

<强>的onClick = “”

OR

元素css需要具有以下声明:

<强>光标:指针

via:http://www.mitch-solutions.com/blog/17-ipad-jquery-live-click-events-not-working

答案 1 :(得分:0)

我不确定,但这可能是因为触控设备没有指针。

尝试.live():

$(document).ready(function(){
    $("#submitButton").live("click", function(){
        // do something
    }
});

或者,试试这个插件: https://github.com/aanand/jquery.tappable.js


我建议你尽量避免编写不引人注目的代码,比如onclick,onmousedown等内联事件处理程序,因为不同的浏览器工作方式不同。特别是在触摸设备中。

答案 2 :(得分:0)

感谢您的建议。作为jQuery的新手,我需要一段时间才能加快速度。以下是我到目前为止所做的工作,但在使用Safari访问网站时仍然遇到iPad上的触摸屏问题。 但奇怪的是,当我在iPad上使用谷歌访问该网站时,它确实有用。奇怪,我想!

我的HTML输入语句是:

<input type="button" value="Submit" id="click"/>

jQuery的:

$('#click') .click(function(){
  submitentry();
  });

我认为如果我使用.click以外的其他内容,它可能会有用。只需要搞清楚什么。我们会看到......