我需要使用jQuery检查特定文本框是否具有焦点。所以我的代码是这样的,但它不起作用:
if (document.getElementById("lastname").focus = true) {
alert("hello");
}
我的用例是:我有一个文本框,当#lastname
文本框获得或失去焦点时,应该显示或隐藏它。但是,如果#lastname
文本框失去了对另一个文本框的焦点,后者应该保持可见,直到它失去焦点。
任何帮助将不胜感激。
答案 0 :(得分:12)
if ($("#lastname").is(':focus')) {
alert("hello");
}
jQuery docs for :focus
jQuery docs for .is()
<小时/> 的更新强> 要在字段获得/失去焦点时显示/隐藏元素,请使用
focusin
和focusout
事件处理程序:
$(document).ready(function() {
$('#lastname').focusin(function() {
$(hidden-element).show();
}).add(hidden-element).focusout(function() {
if ( !$(hidden-element).is(':focus') ) {
$(hidden-element).hide();
}
});
});
//where hidden-element is a reference to or selector for your hidden text field
答案 1 :(得分:1)
$("#lastname").focus(function(){
alert("lastname has focus");
});
答案 2 :(得分:1)
if (document.getElementById("lastname").focus == true) {
alert("hello");
}
使用==检查,使用=是作业
答案 3 :(得分:0)
您可以尝试使用jQuery的:focus选择器。或者你总是可以添加一个类并检查该类。
答案 4 :(得分:0)
<script type="text/javascript" language="javascript">
function check() {
if ($(document.activeElement).attr("id") === "element_name") {
alert('checkbox is focused');
}
}
</script>
答案 5 :(得分:0)
试试这个
var status = $('#lastname').is(":focus");
alert(status);//false or true