js select()文本适用于iPhone

时间:2013-11-02 23:23:55

标签: javascript iphone .net textbox

为什么这种方法适用于所有其他设备和每个浏览器,除非该浏览器在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() });

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

enter image description here

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

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

想强迫我的员工购买机器人。洛尔

2 个答案:

答案 0 :(得分:0)

要突出显示最近导航器http://kimblim.dk/css-tests/selectors/(如iPhone)上的文字,您应该使用 css3伪类 :focus,{{ 1}}和::selection并向其应用特定样式

例如,如果我想在选择时以黄色突出显示:hover,则css将为:

<p id="textBox_Search">Text</p>


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


您也可以使用 jQuery 执行此操作,如下所示:

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


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


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

答案 1 :(得分:0)

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

How do I focus an HTML text field on an iPhone (causing the keyboard to come up)?

这是典型的Apple思维:牺牲用户友好性的可用性。这并不奇怪,这是最终的答案。如果有人找到工作,请告诉我!

如果你像我一样,并希望得到更多确认,这确实是一个不幸的答案:https://discussions.apple.com/thread/5187540