我只想在我的输入字段处于焦点时发送 Ajax 请求(即,光标在其中。这是我的代码:
function anewFunc() {
$(document).ready(function(){
var chatattr = $(".chatwindow").css("visibility");
var chattitle = $("#hideid").text();
if (chatattr == "visible") {
if (MY INPUT FIELD HAS FOCUS) {
$.ajax({
url: 'seen1.php',
type: 'post',
data: "ctitle="+chattitle,
success: function(result9) {},
error: function() {}
});
}
} else {
$.post("seendefault.php");
}
});
}
$(document).ready(function(){
var zzz = setInterval(anewFunc, 2000);
});
Run Code Online (Sandbox Code Playgroud)
现在我不知道每次输入是否有焦点时如何检查。是否有任何 jQuery 解决方案?
编辑:一些答案建议我:焦点。所以我试了一下这个:
$(document).ready(function(){
if($("#msgtypeid").is(":focus")){
alert("Hello");
}
});
Run Code Online (Sandbox Code Playgroud)
HTML:
<form id="chatform" name="form4" method="post" required enctype="multipart/form-data">
<input id="msgtypeid" type="text" name="cmessage" autocomplete="off" autofocus/>
</form>
Run Code Online (Sandbox Code Playgroud)
但它不起作用。有什么不对?
小智 6
我认为你需要这种类型的检查:
var hasFocus = $('#idOfTheInputElement').is(':focus');
if(hasFocus){
//logic here
}
Run Code Online (Sandbox Code Playgroud)
向您的元素添加一个focus事件处理程序input,每次该元素获得焦点时都会调用您的回调函数。
document.addEventListener('DOMContentLoaded', function() {
document.getElementById('example').addEventListener('focus', function() {
alert('The input is focused.');
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15504 次 |
| 最近记录: |