我不确定这是一个错误还是某种特定于苹果的功能"但它会导致我出现各种各样的问题。我在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已经更新。