我有一个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时,focus
和focusout
事件都会被触发。为什么会这样?
答案 0 :(得分:0)
您的代码似乎运行正常。假设你将它包装在某种dom中,这就是小提琴:
$(function(){
$('.name').focus(function() {
console.log("focused")
});
$('.name').focusout(function() {
console.log("unfocused");
});
});
答案 1 :(得分:0)
一旦我禁用了应用于div元素的jEditable,问题就消失了。因此,当元素聚焦时,似乎jEditable以某种方式调用focusout
事件。
话虽如此,我使用focus
和focusout
的主要目的是捕获用户输入的任何更改,我应该使用jeditable的函数进行更改。