我有一个对象,它有一个绑定模糊事件连接到它。这允许我通过ajax将对象的内容写入数据库并保存编辑。
editableText.bind('blur',function(e){
blurFunction();
});但是,我希望能够通过按转义来退出编辑过程。所以我已经探测到逃生按键在工作,这很好。
editableText.on("keyup", function(e){
if(e.which == 27){
console.log("escape detected");
$(this).blur();
}
});我的问题是,无论我如何尝试实现这一点,模糊仍然被调用,所以这意味着更改仍然保存,即使我不希望它们是。
发布于 2017-11-06 15:54:33
下面的示例将允许您在输入元素模糊时触发某些内容。然而,按下逃逸会模糊元素,而不会触发模糊。
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>
https://stackoverflow.com/questions/47140577
复制相似问题