是否可以使用JS或jQuery为DIV编写onFocus/lostFocus处理程序?

pho*_*nix 7 javascript jquery onfocus lost-focus

我有一个div,当用户点击div时,应该调用一个函数.当用户点击其他内容(除此div之外的任何内容)时,应调用另一个函数.

所以基本上我需要有与此DIV相关的onFocus()和lostFocus()函数调用.它是用JavaScript还是jQuery提供的?

谢谢.

Moh*_*dil 21

在这里,我创建了一个你想要的工作演示http://jsfiddle.net/kPbfL/1/

您需要将tabindex属性添加到div:

标记:

 <div id="mydiv" tabindex="-1"></div>
Run Code Online (Sandbox Code Playgroud)

使用Javascript

$("#mydiv").focusin(function() {
  $("#mydiv").css("background","red");
});
$("#mydiv").focusout(function() {
  $("#mydiv").css("background","white");
});
Run Code Online (Sandbox Code Playgroud)

CSS

#mydiv{
width : 50px;
    height:50px;
    border : 1px solid red;
}?
?
Run Code Online (Sandbox Code Playgroud)

  • 这是因为div默认没有tabindex,并且要在一个元素上使用focusin和focusout,它应该有一个tabindex,这就是我们为我们的div设置tabindex的原因. (3认同)

Tat*_*nit 6

焦点不起作用DIV:http://api.jquery.com/focus/

也好读:jquery:焦点到div不起作用

If you want to focus a div or anything normally can't be focused, set the tag's tabindex to -1 first.
eg: $("div#header").attr("tabindex",-1).focus();
Run Code Online (Sandbox Code Playgroud)