这可能非常简单,但我并不熟悉jQuery选择器。
这是带有内联css的HTML:
<div id="login" style="position:relative; display:none; top:0px; left:0px; right:0px; bottom:0px; text-align:center; vertical-align:middle; z-index:10;" class="trwhole">
<table width="100%" height="100%">
<tr width="100%" height="100%">
<td width="100%" height="100%" style="vertical-align:middle; text-align:center;">
<img src="images/MemorizeItWhite.png" z-index="10000" style="width:290px;">
<table align="center" class="w290">
<tr>
<td>
<div id="lerror" class="alert"></div>
</td>
</tr>
<tr>
<td align="left">Username:
<br>
<input autocorrect="off" autocapitalize="off" type="text" placeholder="username" id="username" style="" class="ui-corner-all w290">
</td>
</tr>
<tr>
<td align="left">Password:
<br>
<input type="password" placeholder="password" id="password" style="" class="ui-corner-all w290" onkeypress="if (event.keyCode==13){login();}">
</td>
</tr>
<tr>
<td>
<input type="button" id="loginBt" onclick="login();" value="Log In" class="submit" style="width:85px;">
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
我正在寻找像
这样的东西$("select tr that contains input[placeholder] in #login or #signup2")
.on("touchstart", function () { $("this > input").focus(); });
关键是要给每个ontouchstart
属性更改焦点到其中的输入,如果该输入具有占位符并且位于任一命名div中。
我当然可以手动将ontouchstart
属性添加到每个tr中,但是我不会学到任何新内容,而且我认为可以使用更少的jQuery代码来完成。
答案 0 :(得分:1)
根据您的评论问题,请尝试:
$('#login tr:has(input[placeholder]), #signup2 tr:has(input[placeholder])')
.on("touchstart", function (evt) { $(evt.target).filter("input").focus(); });