我有一個div,當用戶點擊div時,應調用一個函數。當用戶點擊其他東西(除了這個div之外的其他東西)時,應該調用另一個函數。是否可以使用JS或jQuery爲DIV編寫onFocus/lostFocus處理程序?
所以基本上我需要有與此相關的DIV的onfocus()和LostFocus()函數調用。它可以在JavaScript中甚至在jQuery中使用嗎?
謝謝。
我有一個div,當用戶點擊div時,應調用一個函數。當用戶點擊其他東西(除了這個div之外的其他東西)時,應該調用另一個函數。是否可以使用JS或jQuery爲DIV編寫onFocus/lostFocus處理程序?
所以基本上我需要有與此相關的DIV的onfocus()和LostFocus()函數調用。它可以在JavaScript中甚至在jQuery中使用嗎?
謝謝。
在這裏,我創建你想要http://jsfiddle.net/kPbfL/1/
什麼工作演示您需要添加tabindex
屬性div
:
標記:
<div id="mydiv" tabindex="-1"></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 : focus to div is not working
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();
肯定。
$("#your-div-id").focusin(function() {
// code here
});
$("#your-div-id").focusout(function() {
// code here
});
它沒有工作。我按照你的建議嘗試過。然後我嘗試了bind/live,因爲div是動態生成的。但不是! :( – Ivin
,如果這個解決方案適合您的網頁,但你可以在使用JQuery不知道()附加一個單擊事件的身體元素,並將其委託給孩子div的。然後在你的事件處理程序中,測試id屬性和句柄;是這樣的:
$(body).on("click", "div", function (evt) {
if ($(this).attr("id") == "innerDiv") {
handle inner div click here
} else {
hanlde out div click here
{
}
希望這有助於...
爲什麼如果你想打電話Click事件的功能,你需要的onfocus? –
@Mohammad,是的,我可以使用Click事件而不是使用onFocus。但問題是,我需要獲得lostFocus事件或類似的事情。任何想法? – Ivin
請參閱下面的答案。 –