iOS Mobile Safari:专注输入不会触发任何点击事件

时间:2014-05-28 21:44:11

标签: javascript jquery mobile-safari

我不确定这是一个错误还是某种特定于苹果的功能"但它会导致我出现各种各样的问题。我在this Plunker中重现了这个问题。请在移动游猎中打开你的iOS设备上的plunker,你应该看到我在说什么。

问题非常简单。我有一个<input>元素,我使用jQuery将.on('click')处理程序附加到输入。

HTML:

<body>
    <input type="text" id="iosInput">
    <h4 id="result"></h4>
</body>

JavaScript的:

$('#iosInput').on('click', function(e){
    $('#result').text('e.offsetX = ' + e.offsetX);
});

我希望点击处理程序能够显示用户点击/点按的<input>上的位置。我需要找到点击/点击事件的x坐标。问题是iOS Mobile Safari仅在第一次点击时触发点击事件(当用户关注输入并出现屏幕键盘时)。输入具有焦点后,点击事件不再触发。

即使<input>有焦点,有没有办法让点击事件触发?我需要能够计算输入上任何点击或点击事件的相对x坐标,无论屏幕键盘是否可见......

非常感谢任何帮助。谢谢你提前。

PS。我最初在我的AngularJS应用程序中发现了这个问题,但它似乎甚至没有角度,只使用jQuery甚至纯粹的javascript。

更新:根据@ JackPattishallJr的建议,我添加了FastClick库,就像我怀疑的那样,它似乎没有做任何不同的事情。 Plunker已经更新。

0 个答案:

没有答案