Javascript 使用jquery在文本框上设置焦点
我有两个这样的复选框:Javascript 使用jquery在文本框上设置焦点,javascript,jquery,Javascript,Jquery,我有两个这样的复选框: <input id="isGenericPassword" name="isGenericPassword" onclick="IsGenericOrUnique(this.id);" type="checkbox" value="true" /> <input name="isGenericPassword" type="hidden" value="false" /> <input checked="checked" id=
<input id="isGenericPassword" name="isGenericPassword"
onclick="IsGenericOrUnique(this.id);" type="checkbox" value="true" />
<input name="isGenericPassword" type="hidden" value="false" />
<input checked="checked" id="isUniquePassword" name="isUniquePassword"
onclick="IsGenericOrUnique(this.id);" type="checkbox" value="true" />
<input name="isUniquePassword" type="hidden" value="false" />
<input id="UniquePassword" name="UniquePassword" style="display:none"
type="text" value="" />
如果选中复选框,则相关文本框可见
单击isUniquePassword复选框时,我隐藏了文本框UniquePassword
$("#isUniquePassword").click(function () {
$("#UniquePassword").toggle(this.checked);
if ($("#isUniquePassword").is(':checked')) {
// unique password gets focus only if related checkbox is checked
$("#UniquePassword").focus();
}
});
当用户试图不输入任何内容就离开时,显示对话
$("#UniquePassword").blur(function () {
if ($("#isUniquePassword").is(':checked') &&
$("#UniquePassword").val() == '')
{
$("#dialog-RecipientEmail-error").dialog("open");
}
});
点击对话框的Ok按钮,再次将焦点设置为文本框,这样就可以输入值
$("#dialog-RecipientEmail-error").dialog({
autoOpen: false,
resizeable: false,
width: 300,
modal: true,
buttons: {
"OK": function () {
$(this).dialog("close");
$("#UniquePassword").focus();
}
}
});
不,我希望如果选中isGenericPassword或取消选中isUniquePassword,那么我应该得到错误对话框;不会聚焦该字段,而是会触发与聚焦事件绑定的操作。要聚焦字段,需要获取HTML元素的句柄
$(“#唯一密码”).get(0.focus()代码>
这应该行得通 我希望只有当用户取消选中isUniquePassword或尝试检查isgenericPassword时,UniquePassword才会获得焦点,然后模糊事件不会触发。@Mahbub:根据对的调用,focus()
相当于.trigger(“focus”)
,这意味着焦点是在HTML元素上触发的。另外,文档还说明:要运行元素的焦点事件处理程序而不将焦点设置为元素,请使用.triggerHandler(“focus”)
而不是.focus()
。哦,我没有注意到Doc中的更新。如果您一直在关注jQuery的时间更长,它以前可能是这样的:)问题/问题是什么?您能把您的问题放到JSFIDLE中吗?捐款更容易、更快。
$("#dialog-RecipientEmail-error").dialog({
autoOpen: false,
resizeable: false,
width: 300,
modal: true,
buttons: {
"OK": function () {
$(this).dialog("close");
$("#UniquePassword").focus();
}
}
});