我有一个绑定了 blur 事件的对象。这允许我通过ajax将对象的内容写入数据库并保存编辑。
editableText.bind('blur',function(e){
blurFunction();
});
但是我希望能够通过按下退出来退出编辑过程。所以我检测到逃生按键工作,没关系。
editableText.on("keyup", function(e){
if(e.which == 27){
console.log("escape detected");
$(this).blur();
}
});
我的问题是,不过我试图实现这一点,仍然会调用模糊,所以这意味着即使我不希望它们仍然保存更改。
答案 0 :(得分:1)
以下示例将允许您在输入元素模糊时触发某些内容。然而,按下转义会使元素模糊而不会触发模糊。
function addBlur() {
$('#input').blur(function (e) {
console.log('blurring');
//saving the results
});
}
$('#input').on("keyup", function(e){
if(e.which == 27){
console.log("escape detected");
var el = $(this);
el.off('blur');
el.blur();
addBlur();
}
});
addBlur();

<input id='input'>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
&#13;