移动友好型网页设计:如何在输入文本后以编程方式缩小
Mobile-friendly web design: How to programmatically zoom out after text input?
我有一个网页,在桌面和移动浏览器IMO中看起来和功能都不错,但我无法解决特定的用户体验功能。
当用户点击/点击文本字段进行搜索时,移动浏览器会缩放到用于数据输入的文本框这很好,我想保留它。。但是之后如何重置页面缩放/缩放/转换?
我想在用户停止键入后以编程方式缩小但我在谷歌上搜索和/或尝试过的东西都不起作用。
注意:如果双击大多数元素,浏览器会重置缩放比例,但我显然使用了错误的关键字或问了错误的问题来识别这种行为
我似乎只找到了通过视口元标记禁用用户缩放的解决方案,这不是我想要的,或者类似于这个问题的解决方案仍然没有答案。
以下是我尝试过的一些东西:
1) 通过YUI模拟双击,我对此寄予厚望。。
<!-- required in the head node -->
<script src="http://yui.yahooapis.com/3.13.0/build/yui/yui-min.js"></script>
// Then elsewhere in script, simulate a double-tap on the DIV containing the input.
YUI().use('node-event-simulate', function(Y)
{
var node = Y.one("#left");
node.simulateGesture("doubletap", {point: [4, 4]});
});
2) 这不起作用。。
window.parent.document.body.style.zoom = 1.0;
3) 使用JQuery以1的比例缩放到"窗口"或"主体"也失败。。
$("window").animate({ 'zoom': 1}, 400);
4) 然后,当我考虑使用CSS在我最外层的DIV上进行transform2d时,我很兴奋,但令我懊恼的是,它没有起作用。。
$('#outer-div').css("transform", "scale(1,1)");
$('#outer-div').css("-ms-transform", "scale(1,1)");
$('#outer-div').css("-webkit-transform", "scale(1,1)");
5) 最后,我尝试声明一个viewport元标记并在运行时对其进行操作,但这在几个级别上都不起作用;要么我没有得到明显的状态变化,要么如果我得到了变化,缩放在几个方面都是"错误的"(一些文本会丢失,div的大小错误,谷歌地图画布会被恶意劫持)。
// Replace..reset the viewport metatag via JQuery..
//
var theWidth = $(window).width();
$('#vp').remove();
$('head').append('<meta id="vp" name="viewport" content="width='+ theWidth.toString() + '/>');
// Or this pure javascript approach..
//
var vp = document.getElementById('vp');
vp.setAttribute('content','width='+theWidth.toString());
不管怎样,我希望我所问的是清楚的。基本上,当我双击页面上的大多数元素时,我如何通过编程重新创建缩小?
提前感谢您的帮助。
我认为js元视口是最有前途的:你可以在失去对输入的关注后设置视口元标记,就像你在一个例子中所做的那样-加上window.resize()调用是js,这在例子中是缺失的-这应该会触发缩小。我现在不能自己尝试,所以不能保证不会像你描述的那样出现混乱,但也许值得一试;)
$('input[type="textarea"]').on('focusout', function(event) {
$('meta[name="viewport"]').attr('content', 'height=device-width,width=device-height,initial-scale=1.0,maximum-scale=1.0');
$(window).resize();
});
- 以编程方式选择文本Mobile Safari
- 如何以非编程方式国际化HTML文本
- 在崇高文本 3 中编程飞镖,将路径更改为 dart-sdk
- 用户更改文本框后,无法以编程方式更改文本框's值
- 移动友好型网页设计:如何在输入文本后以编程方式缩小
- 以编程方式触发空格键单击文本区域
- 我如何在 jQuery 中以编程方式设置输入文本框的值
- 以编程方式突出显示聚合物纸张输入中的文本
- 如何使用 ExtendScript 在 InDesign 中以编程方式将文本设置为“小型大写字母”
- 如何使用网络编程创建文本曲线效果.首选(C#,VB JavaScript或JQuQuery)
- Jquery 以编程方式更改
文本
- 以编程方式设置按钮文本
- 如何用javascript编程编辑HTML格式的文本,而不需要手动处理标记和HTML
- 如何检测对文本区域的(编程)更改
- 如何用javascript编程使某些文本加粗
- 在Jquery Mobile的文本框上编程设置数据主题
- 用JavaScript编程选择文本
- 剑道网格如何以编程方式聚焦网格单元格和块选择文本
- 如何对HTML页面进行编程,以便在单击按钮时更新从文本文件导入的文本
- 向文本框添加标签(以编程方式)