X-editable插件显示文本两次(Mobile Safari)

时间:2014-12-24 17:13:59

标签: jquery mobile-safari jeditable

我使用X-editable插件进行就地编辑,使用Twitter Bootstrap,jQuery UI或纯jQuery

HTML

<a class="editable-text" data-value="0123456789">0123456789</a>

的JavaScript

$(document).ready(function () {

   $.fn.editable.defaults.mode = 'inline';

   $.fn.editableform.buttons = '<button type="submit">OK</button>';

   $('.editable-text').editable();

});

它可以像桌面浏览器一样工作,但它会为Safari移动浏览器显示两次文本。任何人都可以建议修复Safari移动设备中的正确显示吗?

的jsfiddle

http://jsfiddle.net/MalyutinS/7bp4ttmv/11/

How it looks in Mobile Safari

1 个答案:

答案 0 :(得分:2)

<强>&LT;更新&GT;

解决这个问题的正式和正确的方法,一旦他意识到发生了什么,发现谢尔盖Malyutin是通过meta标签禁用移动Safari的电话号码链接:

<meta name="format-detection" content="telephone=no">

<强>&LT; /更新&GT;

您正在演示的示例输入恰好包含10位数字。移动Safari将这10个数字识别为电话号码,并将其更改为与X-editable插件的操作异步的链接。从某种意义上说,您可以想象在同一输入上有两个不同的插件同时运行,并产生两个相邻的输出。

如果您点击该链接,系统会向您提供选项&#34;取消&#34;和#34;电话&#34;在&#34;电话号码下面#34; 0123456789。

要解决移动Safari的电话号码激活引入的问题,我建议您根据需要插入一个不可见的零宽度空间(Unicode实体&#x200b;),以防止任何10个字符串数字。当然,数据值将保持不变。

<a class="editable-text" data-value="0123456789">01234&#x200b;56789</a>

http://jsfiddle.net/hmy1f1ex/2/