禁用自动缩放 / 现场缩放 input 在我的移动站点上的标签 - 没有禁用所有缩放功能

我在整天寻找解决方案,这个网站继续出现, SO 为什么不问你们。

我创建了我们公司的移动网站,我们希望禁用用于缩放输入的移动设备的自动缩放 text/search/email, 当他们焦点。
我是一个字符串网站 HTML5 一年和锯/测试
决定
<meta content="width=device-width, user-scalable=no" name="viewport"/>

. 有不同的财产 /它是。 minimum-scale=

#, maximum-scale=

#" /
它几乎工作 31 我测试的移动设备。 只有一个问题。 我希望用户增加/休闲减少规模。 /我们有几种产品图片具有更高的分辨率,看到附近会很高兴/

单击标记时如何关闭缩放 input, 保存完整的手动用户缩放管理?

p. s 该网站也使用 jQuery. 所以任何使用它可以提供帮助的想法。


已邀请:

奔跑吧少年

赞同来自:

安装元标记
<head>

, 它对我有效:


<meta content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" name="viewport"/>


</head>

喜特乐

赞同来自:

也许这不太适合您的风格,但如果您设置字体大小 input 元素相等 16px 或以上,缩放 onfocus 停止。

二哥

赞同来自:

厘米。:
https://coderoad.ru/2989263/
我找不到干净的方式,但这是黑客......

1/我注意到鼠标光标事件发生在缩放之前发生,但在事件之前发生缩放 mousedown 或者 focus.

2/ 您可以动态更改标记 META viewport 通过 javascript /厘米。
https://coderoad.ru/2750028/
/

所以试试 /显示B. jquery 为了紧凑/:


$/"input[type=text], textarea"/.mouseover/zoomDisable/.mousedown/zoomEnable/;
function zoomDisable//{
$/'head meta[name=viewport]'/.remove//;
$/'head'/.prepend/'<meta content="user-scalable=0" name="viewport">'/;
}
function zoomEnable//{
$/'head meta[name=viewport]'/.remove//;
$/'head'/.prepend/'<meta content="user-scalable=1" name="viewport"/>'/;
}


这绝对是一个黑客......可能是某些情况 mouseover/down 并不总是捕获 entries/exits,, 但他在我的测试中工作得很好,并且是一个很好的开始。
</meta>

快网

赞同来自:

我花了一些时间来找到它,但这是我找到的最好的代码......
http://nerd.vasilis.nl/prevent ... ocus/
/


var $viewportMeta = $/'meta[name="viewport"]'/;
$/'input, select, textarea'/.bind/'focus blur', function/event/ {
$viewportMeta.attr/'content', 'width=device-width,initial-scale=1,maximum-scale=' + /event.type == 'blur' ? 10 : 1//;
}/;

龙天

赞同来自:

非常简单的黑客是安装:


input, textarea {font-size:16px;}

詹大官人

赞同来自:

如果您设置转换 webkit 对于以外的任何价值 1 /或者 1.0/
选择标签时自动增加 input 关闭 iPhone.


document.body.style.webkitTransformOrigin= "0% 0%";
document.body.style.webkitTransform = "scale/1.1/";


我没有测试其他移动浏览器。

要回复问题请先登录注册