有什么办法可以专注于文本框吗?
即。点击用户名标签时,下方情况的用户名是什么?
<tr>
<td valign="middle" class="loginText">
<b>
<label for="UserName">
UserName:</label></b>
</td>
<td valign="middle" >
<input type="tel" maxlength="6" value="" name="UserName" id="UserName" data-val-required="The User name field is required."
data-val="true" /><br />
@Html.ValidationMessageFor(m => m.UserName)
</td>
</tr>
它适用于Mozilla和IE,但不适用于iPad Safari。基本上,我想在用户点击标签时弹出iPad键盘,即在这种情况下用户名:
这是我的jQuery:
$("label[for]").click(function () {
var inputid = '#' + $(this).attr('for');
alert(inputid);
$(inputid).focus();
});
答案 0 :(得分:2)
你想做的事情根本行不通。如果没有用户触摸文本输入元素,就无法启动iPad键盘。这可能是设计上的,因为Apple不希望键盘变得恶意/侵入,并且不断按需弹出。
一种解决方法可能是让用户的点击目标成为文本字段,并将其设置为样式,以便他们知道按下它。
答案 1 :(得分:0)
使用JQuery:
$(document).ready(function() {
$('#mylabelid').click(function() {
$('#mytextboxid').focus();
});
});
答案 2 :(得分:0)
$("label").click(function(e){
if($(this).attr("for") == "UserName")
{
$("#UserName").focus()
}
})
答案 3 :(得分:0)
http://v4.thewatchmakerproject.com/blog/how-to-fix-the-broken-ipad-form-label-click-issue/
if (navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/iPad/i)) {
$(document).ready(function () {
$('label[for]').click(function () {
var el = $(this).attr('for');
if ($('#' + el + '[type=radio], #' + el + '[type=checkbox]').attr('selected', !$('#' + el).attr('selected'))) {
return;
} else {
$('#' + el)[0].focus();
}
});
});
}