jQuery focusout事件重复自身问题
这是可行的,但每次我单击我想要获取的元素时,都会“计算”单击次数,然后打印日志注释,总单击次数相同 例如,如果我在一行中单击元素3次(然后单击外部以触发jQuery focusout事件重复自身问题,jquery,focus,jquery-events,Jquery,Focus,Jquery Events,这是可行的,但每次我单击我想要获取的元素时,都会“计算”单击次数,然后打印日志注释,总单击次数相同 例如,如果我在一行中单击元素3次(然后单击外部以触发聚焦输出),它将打印3条日志注释,如果我再单击2次(再次单击外部),它将打印5条日志注释 每次单击元素外部时,我只想得到一条log注释 有人帮忙吗 $("#main-wrapper").click(function (e) { var contenteditable = $(e.target).attr('conte
聚焦输出
),它将打印3条日志注释,如果我再单击2次(再次单击外部),它将打印5条日志
注释
每次单击元素外部时,我只想得到一条log
注释
有人帮忙吗
$("#main-wrapper").click(function (e) {
var contenteditable = $(e.target).attr('contenteditable');
if (contenteditable == 'true') {
$(e.target).focusout(function() {
var content = $(this).html();
console.log("get: " + content);
});
};
});
尝试解除事件绑定
$("#main-wrapper").click(function (e) {
var contenteditable = $(e.target).attr('contenteditable');
if (contenteditable == 'true') {
$(e.target).unbind('focusout').focusout(function() {
var content = $(this).html();
console.log("get: " + content);
});
};
});
尝试解除事件绑定
$("#main-wrapper").click(function (e) {
var contenteditable = $(e.target).attr('contenteditable');
if (contenteditable == 'true') {
$(e.target).unbind('focusout').focusout(function() {
var content = $(this).html();
console.log("get: " + content);
});
};
});
每次处理
单击
时,都会附加一个新的聚焦输出
事件处理程序。这些事件处理程序不会被替换,而是被添加,每个事件处理程序都会在触发事件时执行。这就是为什么您会收到与以前单击相同数量的日志消息
您应该能够只指定一次focusout
处理程序,但是您希望如何触发它当然取决于您想要完成的任务
$("#main-wrapper").focusout(function (e) {
var contenteditable = $(e.target).attr('contenteditable');
if (contenteditable == 'true') {
var content = $(this).html();
console.log("get: " + content);
}
});
每次处理
单击
时,都会附加一个新的聚焦输出
事件处理程序。这些事件处理程序不会被替换,而是被添加,每个事件处理程序都会在触发事件时执行。这就是为什么您会收到与以前单击相同数量的日志消息
您应该能够只指定一次focusout
处理程序,但是您希望如何触发它当然取决于您想要完成的任务
$("#main-wrapper").focusout(function (e) {
var contenteditable = $(e.target).attr('contenteditable');
if (contenteditable == 'true') {
var content = $(this).html();
console.log("get: " + content);
}
});
除非我弄错了,否则这也将解除
单击
处理程序的绑定,因此这只适用于第一次单击。您应该能够执行unbind('focusout')
操作。除非我弄错了,否则这也会解除click
处理程序的绑定,因此这只适用于第一次单击。不过,您应该能够执行unbind('focusout')
。