1

为什么这在所有其他设备和每个浏览器上都有效,除非该浏览器在 iphone 上(在这种情况下为 iphone 4)?

<script type="text/javascript" lang="javascript">
        function FocusTextBox()
            {
                var text = document.getElementById("textBox_Search");
                text.select();
                text.focus();
            }
</script>

还尝试了jquery:

$("#<%=textBox_Search%>").click(function () { ("#<%=textBox_Search%>").Select() });

我在回发/按钮点击事件结束后寻找这种行为。示例截图:

在此处输入图像描述

仅供参考:需要此行为的原因:移动设备具有无线条形码扫描仪。需要能够在不触摸屏幕的情况下一遍又一遍地扫描项目。手动清除 UPC 框中的前一项是行不通的。需要自动完成。它应该只选择以前输入的内容,以便在扫描下一个项目时将其删除。扫描仪每次扫描只需执行键盘输入功能。这很好用,并且该按钮被单击,因为它是页面上的默认按钮。但是,问题是在 iphone 上,没有像上图那样再次选择文本。

我还尝试在单击按钮后从代码隐藏中执行 .select() 。我已经尝试注册 javascript 并在按钮单击事件中最后执行它。所有这些东西都适用于除 iphone 之外的所有设备。

考虑强迫我的员工购买机器人。哈哈

4

2 回答 2

1

这根本不适用于iphone。参考这个答案:

如何将 HTML 文本字段集中在 iPhone 上(导致键盘出现)?

这是典型的苹果思维:为了用户友好而牺牲可用性。毫不奇怪,这是最终的答案。如果有人找到解决方法,请告诉我!

如果您像我一样想要更多确认这确实是不幸的答案:https ://discussions.apple.com/thread/5187540

于 2013-11-10T02:06:53.307 回答
-1

要在 iPhone 等最近的导航器( http://kimblim.dk/css-tests/selectors/ )上突出显示您的文本,您应该使用css3 伪类 :focus::selection并对:hover它们应用特定的样式

例如,如果我想<p id="textBox_Search">Text</p>在选择时以黄色突出显示,css 将是:

#textBox_Search::selection { background-color: yellow; }


有关 css3 伪类的更多信息:http: //www.w3schools.com/css/css_pseudo_classes.asp


您也可以使用jQuery来完成,如下所示:

$(function(){
    $('#textBox_Search:selected').css('background-color', 'yellow');
});


jQuery 中.css()函数的 详细信息:http: //api.jquery.com/css/


注意:JQuery 是最好的方法,因为它适用于每个导航器,而不是原始的 javascript 和 css,它们在导航器之间有点难以兼容。学习如何使用这个框架的好方法:http ://learn.jquery.com/

于 2013-11-03T00:37:25.540 回答