当我点击iOS的其他地方时,HTML复选框点击

时间:2012-01-18 17:29:47

标签: jquery forms ipad

我应该将此报告为jquerymobile或safari中的错误吗?

当我在台式机上查看以下HTML页面或在iPad上查看Opera mini时,它会按照我的预期进行:

  • 我点击了Llama,警报告诉我它被点击了
  • 然后我点击页面上的空白区域,没有任何反应。

当我在使用Safari iOS 5.0.1的iPad上观看时,它会做一些奇怪的事情:

  • 我点击了Llama,警报告诉我它被点击了
  • 然后我点击页面上的空白区域,警报告诉我点击了Llamas。

(在实际的应用程序中,我正在努力工作,当我点击一些其他按钮时,它告诉我点击了Llamas)。

是否有一些解决方法,以便它点击我实际用手指触摸的按钮,而不是Llama按钮? 或者我应该告诉我的所有iPad用户在修复此错误之前放弃Safari?

    <!DOCTYPE html> 
    <html> 
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />
        <!--
        When I click the button,
        and then later click some empty area on the page,
        I expect the button to do nothing.
        It actually triggers the button to turn off.
        -->
        <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>    

            <input type="checkbox" name="checkbox-1" id="checkbox-1"
class="custom" onClick="alert('Llamas have been clicked !');" />
            <label for="checkbox-1">Llamas</label>
    </html>

有一个实时版本: http://jsbin.com/ururer

1 个答案:

答案 0 :(得分:0)

我注意到iPhone上有类似的行为,它似乎是重叠元素的结果,Safari有时无法正确选择哪一个获取点击事件,可能是CSS正在改变以使复选框边界扩大

在没有CSS文件的情况下尝试它,看看你是否仍然得到这种行为。

可能是因为在标记中使用onClick而不是使用jQuery方法来绑定事件。