为什么在点击div时会触发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事件都会被触发。为什么会这样?

您的代码似乎运行良好。这是小提琴,假设你把它包在某种准备好的dom里:

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

http://jsfiddle.net/BkJLn/

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

话虽如此,我使用focusfocusout的主要目的是捕捉用户输入的任何更改,我应该使用jeditable的函数来完成这一操作。

相关内容

  • 没有找到相关文章

最新更新