是否可以使用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 });