为什么在单击div时会触发focusout事件

时间:2013-06-30 08:47:18

标签: javascript jquery onfocus focusout

我有一个div用作文本框

<div class="field-wrapper">
     Name
     <div id="name" class="name" tabindex="-1">
         Enter a name
     </div>

我想检测div文本框的焦点和非聚焦事件。

$('.name').focus(function() {
    console.log("focused")
});

$('.name').focusout(function() {
    console.log("unfocused");
});

但是,每当我点击div时,focusfocusout事件都会被触发。为什么会这样?

2 个答案:

答案 0 :(得分:0)

您的代码似乎运行正常。假设你将它包装在某种dom中,这就是小提琴:

$(function(){
   $('.name').focus(function() {
    console.log("focused")
   });

  $('.name').focusout(function() {
    console.log("unfocused");
  });
});

http://jsfiddle.net/BkJLn/

答案 1 :(得分:0)

一旦我禁用了应用于div元素的jEditable,问题就消失了。因此,当元素聚焦时,似乎jEditable以某种方式调用focusout事件。

话虽如此,我使用focusfocusout的主要目的是捕获用户输入的任何更改,我应该使用jeditable的函数进行更改。