如何从元素中取消绑定焦点事件

时间:2013-06-20 13:49:00

标签: jquery

一个特殊的问题。

脚本在'mousedown'上执行某些操作,然后在'keypress','focusout','keyup'事件上执行。

问题是如果其中一个事件被执行,我该如何杀死剩下的两个事件。

我尝试过$(document).off()$(this).off('focusout'),但没有任何作用。

任何线索?

.on('mousedown', '.task-content', function() {
    // Make DIV Editable
})

.on('keypress', '.task-content', function (e) {
    if (e.which == 13 && !e.shiftKey) {
        // Update DIV content to DB
    }
})

.on('focusout', '.task-content', function() {
    // Update DIV content to DB
})

.on('keyup', '.task-content', function (e) {
    if (e.which == 27) {
    // Return DIV to previous state
  }
})

1 个答案:

答案 0 :(得分:1)

您的代码运行正常,也许您可​​能指出错误selector

$('.task-content').on('keypress', function (e) {
    if (e.which == 13 && !e.shiftKey) {
        // Update DIV content to DB
        alert("key press");
        $(this).off('focusout');
    }
})

$('.task-content').on('focusout', function () {
    // Update DIV content to DB
    alert("focus out ");
})

选中JSFiddle