当用户在文本区之外单击时,我正在尝试更新一个字段。但是,在将更新请求发送到服务器之前,我还想检查输入是否与原始输入不同。我正在尝试使用onfocus和onfocusout来完成此操作,如下所示:
function updateTitle(){
var title = document.getElementById("info_title");
var oldTitle = title.value;
title.onfocusout = function(){
var newTitle = title.value;
if(newTitle != oldTitle){
update();
}
}
}<textarea id='info_title' onfocus='updateTitle()'>Title</textarea>
onfocus函数被调用,但onfocusout函数从未被成功调用。这不是onfocusout的问题,因为如果我在html中将"onfocus=“更改为"onfocusout=”,函数也会被成功调用。以这种方式在onfocus函数中定义onfocusout函数会有问题吗?为什么onfocusout部分不能运行?
发布于 2019-06-08 03:57:03
您要查找的属性不是.onfocusout,而是.onblur。
function updateTitle(){
var title = document.getElementById("info_title");
var oldTitle = title.value;
title.onblur = function(){
console.log('focus out');
var newTitle = title.value;
if(newTitle != oldTitle){
update();
}
};
}<textarea id='info_title' onfocus='updateTitle()'>Title</textarea>
https://stackoverflow.com/questions/56500346
复制相似问题