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

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

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

谢谢。

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

您需要将tabindex属性添加到div

标记:

  

使用Javascript

 $("#mydiv").focusin(function() { $("#mydiv").css("background","red"); }); $("#mydiv").focusout(function() { $("#mydiv").css("background","white"); }); 

CSS

 #mydiv{ width : 50px; height:50px; border : 1px solid red; }​​ 

焦点不适用于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(); 

不确定此解决方案是否适合您的网页,但您可以使用JQuery on()将click事件附加到body元素并将其委托给子div。 然后在您的事件处理程序中,测试id属性并按此处理; 就像是:

 $(body).on("click", "div", function (evt) { if ($(this).attr("id") == "innerDiv") { handle inner div click here } else { hanlde out div click here { } 

希望这可以帮助…

当然。

 $("#your-div-id").focusin(function() { // code here }); $("#your-div-id").focusout(function() { // code here });