为什么这种方法适用于所有其他设备和每个浏览器,除非该浏览器在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之外的所有设备。
想强迫我的员工购买机器人。洛尔
答案 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